arm_compute v19.02
Change-Id: I853a3ecf38f206da13c1b03640c8adf73c20477c
diff --git a/documentation/namespacearm__compute.xhtml b/documentation/namespacearm__compute.xhtml
index 4e6de44..b3db179 100644
--- a/documentation/namespacearm__compute.xhtml
+++ b/documentation/namespacearm__compute.xhtml
@@ -1,10 +1,11 @@
-<!-- HTML header for doxygen 1.8.9.1-->
+<!-- HTML header for doxygen 1.8.15-->
+<!-- Remember to use version doxygen 1.8.15 +-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.15"/>
<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"/>
@@ -15,8 +16,9 @@
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
-</script>
+/* @license-end */</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>
@@ -25,8 +27,9 @@
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
-</script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
+</script><script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="stylesheet.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
@@ -34,9 +37,10 @@
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
+ <img alt="Compute Library" src="https://raw.githubusercontent.com/ARM-software/ComputeLibrary/gh-pages/ACL_logo.png" style="max-width: 100%;margin-top: 15px;margin-left: 10px"/>
<td style="padding-left: 0.5em;">
- <div id="projectname">Compute Library
-  <span id="projectnumber">18.11</span>
+ <div id="projectname">
+  <span id="projectnumber">19.02</span>
</div>
</td>
</tr>
@@ -44,18 +48,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -69,7 +76,9 @@
</div>
</div>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('namespacearm__compute.xhtml','');});
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -104,6 +113,8 @@
<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_1cl__gemm"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1cl__gemm.xhtml">cl_gemm</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </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_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>
@@ -164,7 +175,10 @@
<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="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">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_blob_info.xhtml">BlobInfo</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Meta-data information for each blob. <a href="structarm__compute_1_1_blob_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_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>
@@ -211,26 +225,22 @@
<tr class="memitem:"><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="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><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="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_arg_min_max_layer.xhtml">CLArgMinMaxLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Function to calculate the index of the minimum or maximum values in a tensor based on an axis. <a href="classarm__compute_1_1_c_l_arg_min_max_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_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="memitem:"><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_saturated_arithmetic_operation_kernel.xhtml">CLSaturatedArithmeticOperationKernel</a> for addition. <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_division.xhtml">CLArithmeticDivision</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_division_kernel.xhtml">CLArithmeticDivisionKernel</a>. <a href="classarm__compute_1_1_c_l_arithmetic_division.xhtml#details">More...</a><br /></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_saturated_arithmetic_operation_kernel.xhtml">CLSaturatedArithmeticOperationKernel</a> for division. <a href="classarm__compute_1_1_c_l_arithmetic_division.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><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_division_kernel.xhtml">CLArithmeticDivisionKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the arithmetic division kernel. <a href="classarm__compute_1_1_c_l_arithmetic_division_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_arithmetic_operation_kernel.xhtml">CLArithmeticOperationKernel</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_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">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_saturated_arithmetic_operation_kernel.xhtml">CLSaturatedArithmeticOperationKernel</a> for subtraction. <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_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="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>
@@ -292,6 +302,9 @@
<tr class="memitem:"><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_cast.xhtml">CLCast</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_cast.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><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>
@@ -325,6 +338,15 @@
<tr class="memitem:"><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_comparison.xhtml">CLComparison</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_comparison_kernel.xhtml">CLComparisonKernel</a>. <a href="classarm__compute_1_1_c_l_comparison.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_comparison_kernel.xhtml">CLComparisonKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the comparison kernel. <a href="classarm__compute_1_1_c_l_comparison_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_comparison_static.xhtml">CLComparisonStatic</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_comparison_kernel.xhtml">CLComparisonKernel</a>. <a href="classarm__compute_1_1_c_l_comparison_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_c_l_compute_all_anchors.xhtml">CLComputeAllAnchors</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_compute_all_anchors_kernel.xhtml">CLComputeAllAnchorsKernel</a>. <a href="classarm__compute_1_1_c_l_compute_all_anchors.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
@@ -356,7 +378,7 @@
<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="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>
@@ -402,6 +424,12 @@
<tr class="memitem:"><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_n_h_w_c_kernel.xhtml">CLDepthwiseConvolutionLayer3x3NHWCKernel</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 when the data layout is NHWC. <a href="classarm__compute_1_1_c_l_depthwise_convolution_layer3x3_n_h_w_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_c_l_depthwise_convolution_layer_reshape_weights_generic_kernel.xhtml">CLDepthwiseConvolutionLayerReshapeWeightsGenericKernel</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_convolution_layer_reshape_weights_generic_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><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_reshape_weights_kernel.xhtml">CLDepthwiseConvolutionLayerReshapeWeightsKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to reshape the weights of depthwise convolution. <a href="classarm__compute_1_1_c_l_depthwise_convolution_layer_reshape_weights_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><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>
@@ -411,9 +439,6 @@
<tr class="memitem:"><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>
@@ -445,7 +470,7 @@
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to accumulate the biases, if provided, or downscale in case of quantized input. <a href="classarm__compute_1_1_c_l_direct_convolution_layer_output_stage_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><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="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>
@@ -453,6 +478,21 @@
<tr class="memitem:"><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_elementwise_max.xhtml">CLElementwiseMax</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_operation_kernel.xhtml">CLArithmeticOperationKernel</a> for max. <a href="classarm__compute_1_1_c_l_elementwise_max.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_elementwise_min.xhtml">CLElementwiseMin</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_operation_kernel.xhtml">CLArithmeticOperationKernel</a> for min. <a href="classarm__compute_1_1_c_l_elementwise_min.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_elementwise_operation_kernel.xhtml">CLElementwiseOperationKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for an element-wise operation kernel. <a href="classarm__compute_1_1_c_l_elementwise_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_elementwise_squared_diff.xhtml">CLElementwiseSquaredDiff</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_operation_kernel.xhtml">CLArithmeticOperationKernel</a> for squared difference. <a href="classarm__compute_1_1_c_l_elementwise_squared_diff.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_element_wise_unary_layer_kernel.xhtml">CLElementWiseUnaryLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the elementwise unary operator. <a href="classarm__compute_1_1_c_l_element_wise_unary_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_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>
@@ -462,6 +502,9 @@
<tr class="memitem:"><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_exp_layer.xhtml">CLExpLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to perform exponential on an input tensor. <a href="classarm__compute_1_1_c_l_exp_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_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>
@@ -501,6 +544,12 @@
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fuse_batch_normalization_kernel.xhtml">CLFuseBatchNormalizationKernel</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to fuse the batch normalization node to a preceding convolution node. <a href="classarm__compute_1_1_c_l_fuse_batch_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_gather.xhtml">CLGather</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_gather_kernel.xhtml">CLGatherKernel</a>. <a href="classarm__compute_1_1_c_l_gather.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gather_kernel.xhtml">CLGatherKernel</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_gather_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><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>
@@ -538,7 +587,7 @@
<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_g_e_m_m_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_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="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>
@@ -555,6 +604,9 @@
<tr class="memitem:"><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_matrix_multiply_reshaped_kernel.xhtml">CLGEMMLowpMatrixMultiplyReshapedKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to multiply matrices when both the input matrices LHS (input0) and RHS (input1) have been reshaped. <a href="classarm__compute_1_1_c_l_g_e_m_m_lowp_matrix_multiply_reshaped_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><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>
@@ -562,16 +614,16 @@
<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> and perform the output stage. <a href="classarm__compute_1_1_c_l_g_e_m_m_lowp_offset_contribution_output_stage_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><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="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="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_by_float.xhtml">CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFloat</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_float.xhtml" title="Basic function to execute CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFloat on OpenCL. ">CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFloat</a> on OpenCL. <a href="classarm__compute_1_1_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_float.xhtml#details">More...</a><br /></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_float.xhtml" title="Basic function to execute CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFloat on OpenCL.">CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFloat</a> on OpenCL. <a href="classarm__compute_1_1_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_float.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><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_float_kernel.xhtml">CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFloatKernel</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_float_kernel.xhtml#details">More...</a><br /></td></tr>
@@ -586,11 +638,20 @@
<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="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to multiply two input matrices "A" and "B" and add a vector "C" if provided. <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_multiply_reshaped_kernel.xhtml">CLGEMMMatrixMultiplyReshapedKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to multiply matrices when both the input matrices LHS (input0) and RHS (input1) have been reshaped. <a href="classarm__compute_1_1_c_l_g_e_m_m_matrix_multiply_reshaped_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><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_reshape_l_h_s_matrix_kernel.xhtml">CLGEMMReshapeLHSMatrixKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to reshape the LHS matrix when performing the matrix multiplication. <a href="classarm__compute_1_1_c_l_g_e_m_m_reshape_l_h_s_matrix_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><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_reshape_r_h_s_matrix_kernel.xhtml">CLGEMMReshapeRHSMatrixKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to reshape the RHS matrix when performing the matrix multiplication In particular, this kernel splits the input matrix in blocks of size K0xN0 and stores each one in the output matrix unrolling the values. <a href="classarm__compute_1_1_c_l_g_e_m_m_reshape_r_h_s_matrix_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><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>
@@ -619,28 +680,28 @@
<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="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="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="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="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="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="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="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="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>
@@ -655,7 +716,7 @@
<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="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">Basic function to perform a L2 normalization on a given axis. <a href="classarm__compute_1_1_c_l_l2_normalize_layer.xhtml#details">More...</a><br /></td></tr>
@@ -703,7 +764,7 @@
<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_l_s_t_m_layer.xhtml">CLLSTMLayer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">This function performs a single time step in a Long Short-Term <a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> (LSTM) layer. <a href="classarm__compute_1_1_c_l_l_s_t_m_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">This function performs a single time step in a Long Short-Term <a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object.">Memory</a> (LSTM) layer. <a href="classarm__compute_1_1_c_l_l_s_t_m_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_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>
@@ -748,7 +809,7 @@
<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="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>
@@ -822,6 +883,12 @@
<tr class="memitem:"><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_range.xhtml">CLRange</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_range_kernel.xhtml">CLRangeKernel</a>. <a href="classarm__compute_1_1_c_l_range.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_range_kernel.xhtml">CLRangeKernel</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 for Range. <a href="classarm__compute_1_1_c_l_range_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_reduce_mean.xhtml">CLReduceMean</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to perform reduce operation. <a href="classarm__compute_1_1_c_l_reduce_mean.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
@@ -848,6 +915,12 @@
<tr class="memitem:"><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_reverse.xhtml">CLReverse</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_reverse_kernel.xhtml">CLReverseKernel</a>. <a href="classarm__compute_1_1_c_l_reverse.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_reverse_kernel.xhtml">CLReverseKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the reverse kernel. <a href="classarm__compute_1_1_c_l_reverse_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><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_n_n_layer.xhtml">CLRNNLayer</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_n_n_layer.xhtml">CLRNNLayer</a>. <a href="classarm__compute_1_1_c_l_r_n_n_layer.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
@@ -861,7 +934,13 @@
<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="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the ROI 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_rsqrt_layer.xhtml">CLRsqrtLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to perform inverse square root on an input tensor. <a href="classarm__compute_1_1_c_l_rsqrt_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_saturated_arithmetic_operation_kernel.xhtml">CLSaturatedArithmeticOperationKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Addition operation. <a href="classarm__compute_1_1_c_l_saturated_arithmetic_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_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>
@@ -878,11 +957,17 @@
<tr class="memitem:"><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_select.xhtml">CLSelect</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_select.xhtml">CLSelect</a>. <a href="classarm__compute_1_1_c_l_select.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_select_kernel.xhtml">CLSelectKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL interface for executing the select kernel. <a href="classarm__compute_1_1_c_l_select_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><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="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="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_slice.xhtml">CLSlice</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to perform tensor slicing. <a href="classarm__compute_1_1_c_l_slice.xhtml#details">More...</a><br /></td></tr>
@@ -915,7 +1000,7 @@
<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_space_to_batch_layer.xhtml">CLSpaceToBatchLayer</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_space_to_batch_layer_kernel.xhtml">CLSpaceToBatchLayerKernel</a>. <a href="classarm__compute_1_1_c_l_space_to_batch_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to spatial divide a tensor. <a href="classarm__compute_1_1_c_l_space_to_batch_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_space_to_batch_layer_kernel.xhtml">CLSpaceToBatchLayerKernel</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the space to batch kernel. <a href="classarm__compute_1_1_c_l_space_to_batch_layer_kernel.xhtml#details">More...</a><br /></td></tr>
@@ -923,6 +1008,12 @@
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_split.xhtml">CLSplit</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to split a tensor along a given axis. <a href="classarm__compute_1_1_c_l_split.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_stack_layer.xhtml">CLStackLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to stack tensors along an axis. <a href="classarm__compute_1_1_c_l_stack_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_stack_layer_kernel.xhtml">CLStackLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to stacks a rank-R tensor into one with rank-(R+1) along the axis dimension. <a href="classarm__compute_1_1_c_l_stack_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_strided_slice.xhtml">CLStridedSlice</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_strided_slice_kernel.xhtml">CLStridedSliceKernel</a>. <a href="classarm__compute_1_1_c_l_strided_slice.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
@@ -953,6 +1044,12 @@
<tr class="memitem:"><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_tile.xhtml">CLTile</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_tile_kernel.xhtml">CLTileKernel</a>. <a href="classarm__compute_1_1_c_l_tile.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_tile_kernel.xhtml">CLTileKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to perform a Tile operation. <a href="classarm__compute_1_1_c_l_tile_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><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>
@@ -962,6 +1059,9 @@
<tr class="memitem:"><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_unstack.xhtml">CLUnstack</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to unpack a rank-R tensor into rank-(R-1) tensors. <a href="classarm__compute_1_1_c_l_unstack.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_upsample_layer.xhtml">CLUpsampleLayer</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_upsample_layer_kernel.xhtml">CLUpsampleLayerKernel</a>. <a href="classarm__compute_1_1_c_l_upsample_layer.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
@@ -1020,7 +1120,7 @@
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">ComputeAnchors information class. <a href="classarm__compute_1_1_compute_anchors_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_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>
@@ -1037,12 +1137,18 @@
<tr class="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_output_layer.xhtml">CPPDetectionOutputLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">CPP Function to generate the detection output based on location and confidence predictions by doing non maximum suppression. <a href="classarm__compute_1_1_c_p_p_detection_output_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_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_flip_weights_kernel.xhtml">CPPFlipWeightsKernel</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">CPP kernel to perform 180 degrees flipping on deconvolution weights. <a href="classarm__compute_1_1_c_p_p_flip_weights_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="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_non_maximum_suppression.xhtml">CPPNonMaximumSuppression</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">CPP Function to perform non maximum suppression on the bounding boxes and scores. <a href="classarm__compute_1_1_c_p_p_non_maximum_suppression.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="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>
@@ -1055,6 +1161,12 @@
<tr class="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">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_p_top_k_v.xhtml">CPPTopKV</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_top_k_v_kernel.xhtml">CPPTopKVKernel</a>. <a href="classarm__compute_1_1_c_p_p_top_k_v.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="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_top_k_v_kernel.xhtml">CPPTopKVKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">CPP kernel to perform tensor TopKV operation. <a href="classarm__compute_1_1_c_p_p_top_k_v_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="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_upsample.xhtml">CPPUpsample</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_upsample.xhtml">CPPUpsample</a>. <a href="classarm__compute_1_1_c_p_p_upsample.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
@@ -1063,11 +1175,16 @@
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="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_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_depthwise_convolution_reshape_info.xhtml">DepthwiseConvolutionReshapeInfo</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_detection_output_layer_info.xhtml">DetectionOutputLayerInfo</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Detection Output layer info. <a href="classarm__compute_1_1_detection_output_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">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>
@@ -1160,7 +1277,7 @@
<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_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="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_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>
@@ -1184,10 +1301,10 @@
<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_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="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_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="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_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>
@@ -1226,7 +1343,7 @@
<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_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="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_g_c_scale.xhtml">GCScale</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_scale_kernel.xhtml">GCScaleKernel</a>. <a href="classarm__compute_1_1_g_c_scale.xhtml#details">More...</a><br /></td></tr>
@@ -1264,44 +1381,56 @@
<tr 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">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_g_e_m_m_l_h_s_matrix_info.xhtml">GEMMLHSMatrixInfo</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">GEMM LHS (Left Hand Side) matrix information. <a href="structarm__compute_1_1_g_e_m_m_l_h_s_matrix_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_g_e_m_m_lowp_output_stage_info.xhtml">GEMMLowpOutputStageInfo</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">GEMMLowp output stage info. <a href="structarm__compute_1_1_g_e_m_m_lowp_output_stage_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_g_e_m_m_reshape_info.xhtml">GEMMReshapeInfo</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">GEMM reshape information class. <a href="classarm__compute_1_1_g_e_m_m_reshape_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_g_e_m_m_r_h_s_matrix_info.xhtml">GEMMRHSMatrixInfo</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">GEMM RHS (Right Hand Side) matrix information. <a href="structarm__compute_1_1_g_e_m_m_r_h_s_matrix_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_generate_proposals_info.xhtml">GenerateProposalsInfo</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Generate Proposals Information class. <a href="classarm__compute_1_1_generate_proposals_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="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="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_buffer_manager.xhtml">IBufferManager</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Buffer manager used when reshaping B on the fly. <a href="classarm__compute_1_1_i_buffer_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_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="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_depthwise_convolution_layer3x3_kernel.xhtml">ICLDepthwiseConvolutionLayer3x3Kernel</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_i_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_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="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_g_e_m_m_reshaped_configuration.xhtml">ICLGEMMReshapedConfiguration</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic interface for the GEMM selection. <a href="classarm__compute_1_1_i_c_l_g_e_m_m_reshaped_configuration.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr 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="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>
@@ -1313,7 +1442,7 @@
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL memory region interface. <a href="classarm__compute_1_1_i_c_l_memory_region.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr 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="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>
@@ -1379,7 +1508,7 @@
<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="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>
@@ -1394,22 +1523,22 @@
<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.xhtml">IMemory</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> interface. <a href="classarm__compute_1_1_i_memory.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> interface. <a href="classarm__compute_1_1_i_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_i_memory_group.xhtml">IMemoryGroup</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 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"><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="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"><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="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_memory_region.xhtml">IMemoryRegion</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> region interface. <a href="classarm__compute_1_1_i_memory_region.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> region interface. <a href="classarm__compute_1_1_i_memory_region.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr 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="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_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>
@@ -1423,6 +1552,9 @@
<tr 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="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr 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_no_border.xhtml">INESimpleFunctionNoBorder</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic interface for functions which have a single NEON kernel and no border. <a href="classarm__compute_1_1_i_n_e_simple_function_no_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_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>
@@ -1442,7 +1574,7 @@
<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_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="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_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>
@@ -1463,10 +1595,10 @@
<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#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a> for each window element. <a href="classarm__compute_1_1_iterator.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_iterator.xhtml" title="Iterator updated by execute_window_loop for each window element.">Iterator</a> updated by <a class="el" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">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="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>
@@ -1485,19 +1617,19 @@
<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="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">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_memory_region.xhtml">MemoryRegion</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> region CPU implementation. <a href="classarm__compute_1_1_memory_region.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> region CPU implementation. <a href="classarm__compute_1_1_memory_region.xhtml#details">More...</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="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Min and max values and locations. <a href="structarm__compute_1_1_min_max_location_values.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr 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="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>
@@ -1535,12 +1667,17 @@
<tr class="memitem:"><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_arg_min_max_layer.xhtml">NEArgMinMaxLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Function to calculate the index of the minimum or maximum values in a tensor based on an axis. <a href="classarm__compute_1_1_n_e_arg_min_max_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_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_operation_kernel.xhtml">NEArithmeticOperationKernel</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_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>
@@ -1616,6 +1753,8 @@
<tr class="memitem:"><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_comparison_operation_kernel.xhtml">NEComparisonOperationKernel</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_concatenate_layer.xhtml">NEConcatenateLayer</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute concatenate tensors along a given axis. <a href="classarm__compute_1_1_n_e_concatenate_layer.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
@@ -1641,7 +1780,7 @@
<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="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>
@@ -1718,12 +1857,38 @@
<tr class="memitem:"><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_output_stage_kernel.xhtml">NEDirectConvolutionLayerOutputStageKernel</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to accumulate the biases, if provided, or downscale in case of quantized input. <a href="classarm__compute_1_1_n_e_direct_convolution_layer_output_stage_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_division_operation_kernel.xhtml">NEDivisionOperationKernel</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_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_elementwise_comparison.xhtml">NEElementwiseComparison</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_comparison_operation_kernel.xhtml">NEComparisonOperationKernel</a>. <a href="classarm__compute_1_1_n_e_elementwise_comparison.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_elementwise_comparison_static.xhtml">NEElementwiseComparisonStatic</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_comparison_operation_kernel.xhtml">NEComparisonOperationKernel</a>. <a href="classarm__compute_1_1_n_e_elementwise_comparison_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_n_e_elementwise_division.xhtml">NEElementwiseDivision</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_operation_kernel.xhtml">NEArithmeticOperationKernel</a> for division. <a href="classarm__compute_1_1_n_e_elementwise_division.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_elementwise_max.xhtml">NEElementwiseMax</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_operation_kernel.xhtml">NEArithmeticOperationKernel</a> for max. <a href="classarm__compute_1_1_n_e_elementwise_max.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_elementwise_min.xhtml">NEElementwiseMin</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_operation_kernel.xhtml">NEArithmeticOperationKernel</a> for min. <a href="classarm__compute_1_1_n_e_elementwise_min.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_elementwise_operation_kernel.xhtml">NEElementwiseOperationKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for an element-wise operation kernel. <a href="classarm__compute_1_1_n_e_elementwise_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_elementwise_squared_diff.xhtml">NEElementwiseSquaredDiff</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_operation_kernel.xhtml">NEArithmeticOperationKernel</a> for squared difference. <a href="classarm__compute_1_1_n_e_elementwise_squared_diff.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_elementwise_unary_kernel.xhtml">NEElementwiseUnaryKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for an element-wise unary operation kernel. <a href="classarm__compute_1_1_n_e_elementwise_unary_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><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>
@@ -1733,6 +1898,9 @@
<tr class="memitem:"><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_exp_layer.xhtml">NEExpLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to perform exponential on an input tensor. <a href="classarm__compute_1_1_n_e_exp_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_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>
@@ -1769,6 +1937,18 @@
<tr class="memitem:"><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_fuse_batch_normalization.xhtml">NEFuseBatchNormalization</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to fuse the batch normalization node to a preceding convolution node. <a href="classarm__compute_1_1_n_e_fuse_batch_normalization.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fuse_batch_normalization_kernel.xhtml">NEFuseBatchNormalizationKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenNE kernel to fuse the batch normalization node to a preceding convolution node. <a href="classarm__compute_1_1_n_e_fuse_batch_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_gather.xhtml">NEGather</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_gather_kernel.xhtml">NEGatherKernel</a>. <a href="classarm__compute_1_1_n_e_gather.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gather_kernel.xhtml">NEGatherKernel</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 other operation on NEON. <a href="classarm__compute_1_1_n_e_gather_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><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>
@@ -1812,7 +1992,7 @@
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to compute the convolution layer. <a href="classarm__compute_1_1_n_e_g_e_m_m_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_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="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>
@@ -1839,10 +2019,10 @@
<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="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="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>
@@ -1884,25 +2064,25 @@
<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="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="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="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="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="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="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="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>
@@ -1914,7 +2094,7 @@
<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="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>
@@ -1950,7 +2130,7 @@
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_l_s_t_m_layer.xhtml">NELSTMLayer</a>. <a href="classarm__compute_1_1_n_e_l_s_t_m_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="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">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>
@@ -1965,7 +2145,10 @@
<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="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_memset_kernel.xhtml">NEMemsetKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for filling the planes of a tensor. <a href="classarm__compute_1_1_n_e_memset_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><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>
@@ -2000,6 +2183,9 @@
<tr class="memitem:"><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_pad_layer.xhtml">NEPadLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to pad a tensor. <a href="classarm__compute_1_1_n_e_pad_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_permute.xhtml">NEPermute</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_permute_kernel.xhtml">NEPermuteKernel</a>. <a href="classarm__compute_1_1_n_e_permute.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
@@ -2007,7 +2193,7 @@
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform tensor permutation. <a href="classarm__compute_1_1_n_e_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_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="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">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>
@@ -2033,6 +2219,12 @@
<tr class="memitem:"><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_range.xhtml">NERange</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_range_kernel.xhtml">NERangeKernel</a>. <a href="classarm__compute_1_1_n_e_range.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_range_kernel.xhtml">NERangeKernel</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 for Range. <a href="classarm__compute_1_1_n_e_range_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_reduce_mean.xhtml">NEReduceMean</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to perform reduce operation. <a href="classarm__compute_1_1_n_e_reduce_mean.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
@@ -2060,6 +2252,12 @@
<tr class="memitem:"><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_reverse.xhtml">NEReverse</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_reverse_kernel.xhtml">NEReverseKernel</a>. <a href="classarm__compute_1_1_n_e_reverse.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_reverse_kernel.xhtml">NEReverseKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the reverse layer kernel. <a href="classarm__compute_1_1_n_e_reverse_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><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_n_n_layer.xhtml">NERNNLayer</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_n_n_layer.xhtml">NERNNLayer</a>. <a href="classarm__compute_1_1_n_e_r_n_n_layer.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
@@ -2067,7 +2265,10 @@
<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="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the ROI 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_rsqrt_layer.xhtml">NERsqrtLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to perform inverse square root on an input tensor. <a href="classarm__compute_1_1_n_e_rsqrt_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>
@@ -2081,15 +2282,24 @@
<tr class="memitem:"><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_select.xhtml">NESelect</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_select.xhtml">NESelect</a>. <a href="classarm__compute_1_1_n_e_select.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_select_kernel.xhtml">NESelectKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the select kernel. <a href="classarm__compute_1_1_n_e_select_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><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="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="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_simple_assembly_function.xhtml">NESimpleAssemblyFunction</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic interface for functions which have a single NEON GEMM wrapper kernel to run. <a href="classarm__compute_1_1_n_e_simple_assembly_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_n_e_slice.xhtml">NESlice</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to perform tensor slicing. <a href="classarm__compute_1_1_n_e_slice.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><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>
@@ -2117,6 +2327,21 @@
<tr class="memitem:"><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_split.xhtml">NESplit</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to split a tensor along a given axis. <a href="classarm__compute_1_1_n_e_split.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_stack_layer.xhtml">NEStackLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to stack tensors along an axis. <a href="classarm__compute_1_1_n_e_stack_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_stack_layer_kernel.xhtml">NEStackLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to stacks a rank-R tensor into one with rank-(R+1) along the axis dimension. <a href="classarm__compute_1_1_n_e_stack_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_strided_slice.xhtml">NEStridedSlice</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_strided_slice_kernel.xhtml">NEStridedSliceKernel</a>. <a href="classarm__compute_1_1_n_e_strided_slice.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_strided_slice_kernel.xhtml">NEStridedSliceKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to perform tensor strided slicing. <a href="classarm__compute_1_1_n_e_strided_slice_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><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>
@@ -2129,12 +2354,21 @@
<tr class="memitem:"><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_tile.xhtml">NETile</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_tile_kernel.xhtml">NETileKernel</a>. <a href="classarm__compute_1_1_n_e_tile.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_tile_kernel.xhtml">NETileKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform a tile operation. <a href="classarm__compute_1_1_n_e_tile_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><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_unstack.xhtml">NEUnstack</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to unpack a rank-R tensor into rank-(R-1) tensors. <a href="classarm__compute_1_1_n_e_unstack.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_upsample_layer.xhtml">NEUpsampleLayer</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Function to run upsample layer. <a href="classarm__compute_1_1_n_e_upsample_layer.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
@@ -2208,31 +2442,28 @@
<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="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_prior_box_layer_info.xhtml">PriorBoxLayerInfo</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">PriorBox layer info. <a href="classarm__compute_1_1_prior_box_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_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="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="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="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">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="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">ROI 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>
@@ -2247,13 +2478,13 @@
<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="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="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>
@@ -2265,7 +2496,7 @@
<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_accessor.xhtml">TensorAccessor</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> accessors to make it easier to interface with <a class="el" href="namespacearm__gemm.xhtml">arm_gemm</a>. <a href="classarm__compute_1_1_tensor_accessor.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_tensor.xhtml" title="Basic implementation of the tensor interface.">Tensor</a> accessors to make it easier to interface with <a class="el" href="namespacearm__gemm.xhtml">arm_gemm</a>. <a href="classarm__compute_1_1_tensor_accessor.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr 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>
@@ -2289,7 +2520,7 @@
<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_window_iterator.xhtml">WindowIterator</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Iterate over a portion of a <a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a>. <a href="classarm__compute_1_1_window_iterator.xhtml#details">More...</a><br /></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Iterate over a portion of a <a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window.">Window</a>. <a href="classarm__compute_1_1_window_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">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_winograd_info.xhtml">WinogradInfo</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Winograd information. <a href="structarm__compute_1_1_winograd_info.xhtml#details">More...</a><br /></td></tr>
@@ -2298,37 +2529,34 @@
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:adb969f0e554bf563f2fa671399d59280"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adb969f0e554bf563f2fa671399d59280">ICLKeyPointArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>< <a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a> ></td></tr>
-<tr class="memdesc:adb969f0e554bf563f2fa671399d59280"><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> of Key Points. <a href="#adb969f0e554bf563f2fa671399d59280">More...</a><br /></td></tr>
+<tr class="memdesc:adb969f0e554bf563f2fa671399d59280"><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> of Key Points. <a href="#adb969f0e554bf563f2fa671399d59280">More...</a><br /></td></tr>
<tr class="separator:adb969f0e554bf563f2fa671399d59280"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:adf4063963bf3a4b07a5d0cc840da9ee2"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adf4063963bf3a4b07a5d0cc840da9ee2">ICLCoordinates2DArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>< <a class="el" href="structarm__compute_1_1_coordinates2_d.xhtml">Coordinates2D</a> ></td></tr>
-<tr class="memdesc:adf4063963bf3a4b07a5d0cc840da9ee2"><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> of 2D <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a>. <a href="#adf4063963bf3a4b07a5d0cc840da9ee2">More...</a><br /></td></tr>
+<tr class="memdesc:adf4063963bf3a4b07a5d0cc840da9ee2"><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> of 2D <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item.">Coordinates</a>. <a href="#adf4063963bf3a4b07a5d0cc840da9ee2">More...</a><br /></td></tr>
<tr class="separator:adf4063963bf3a4b07a5d0cc840da9ee2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4cc908807b0a45ccc6ce7ba340ae2259"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4cc908807b0a45ccc6ce7ba340ae2259">ICLDetectionWindowArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>< <a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a> ></td></tr>
-<tr class="memdesc:a4cc908807b0a45ccc6ce7ba340ae2259"><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> of Detection Windows. <a href="#a4cc908807b0a45ccc6ce7ba340ae2259">More...</a><br /></td></tr>
+<tr class="memdesc:a4cc908807b0a45ccc6ce7ba340ae2259"><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> of Detection Windows. <a href="#a4cc908807b0a45ccc6ce7ba340ae2259">More...</a><br /></td></tr>
<tr class="separator:a4cc908807b0a45ccc6ce7ba340ae2259"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a64e11fcdd0f4a3f7d832495b7053fbe9"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a64e11fcdd0f4a3f7d832495b7053fbe9">ICLROIArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>< <a class="el" href="structarm__compute_1_1_r_o_i.xhtml">ROI</a> ></td></tr>
-<tr class="memdesc:a64e11fcdd0f4a3f7d832495b7053fbe9"><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> of ROIs. <a href="#a64e11fcdd0f4a3f7d832495b7053fbe9">More...</a><br /></td></tr>
-<tr class="separator:a64e11fcdd0f4a3f7d832495b7053fbe9"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a68396eee600b3d23bf7f95a802e65dff"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a68396eee600b3d23bf7f95a802e65dff">ICLSize2DArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>< <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> ></td></tr>
-<tr class="memdesc:a68396eee600b3d23bf7f95a802e65dff"><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> of 2D Sizes. <a href="#a68396eee600b3d23bf7f95a802e65dff">More...</a><br /></td></tr>
+<tr class="memdesc:a68396eee600b3d23bf7f95a802e65dff"><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> of 2D Sizes. <a href="#a68396eee600b3d23bf7f95a802e65dff">More...</a><br /></td></tr>
<tr class="separator:a68396eee600b3d23bf7f95a802e65dff"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a72251c7a73b3c057ffca9f32ee3e19ea"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a72251c7a73b3c057ffca9f32ee3e19ea">ICLUInt8Array</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>< cl_uchar ></td></tr>
-<tr class="memdesc:a72251c7a73b3c057ffca9f32ee3e19ea"><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> of uint8s. <a href="#a72251c7a73b3c057ffca9f32ee3e19ea">More...</a><br /></td></tr>
+<tr class="memdesc:a72251c7a73b3c057ffca9f32ee3e19ea"><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> of uint8s. <a href="#a72251c7a73b3c057ffca9f32ee3e19ea">More...</a><br /></td></tr>
<tr class="separator:a72251c7a73b3c057ffca9f32ee3e19ea"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aed5c7222c31a34327f00de37d8c4f4fc"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aed5c7222c31a34327f00de37d8c4f4fc">ICLUInt16Array</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>< cl_ushort ></td></tr>
-<tr class="memdesc:aed5c7222c31a34327f00de37d8c4f4fc"><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> of uint16s. <a href="#aed5c7222c31a34327f00de37d8c4f4fc">More...</a><br /></td></tr>
+<tr class="memdesc:aed5c7222c31a34327f00de37d8c4f4fc"><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> of uint16s. <a href="#aed5c7222c31a34327f00de37d8c4f4fc">More...</a><br /></td></tr>
<tr class="separator:aed5c7222c31a34327f00de37d8c4f4fc"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a6b5f839e8d27c6351e8d58812dd46c97"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6b5f839e8d27c6351e8d58812dd46c97">ICLUInt32Array</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>< cl_uint ></td></tr>
-<tr class="memdesc:a6b5f839e8d27c6351e8d58812dd46c97"><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> of uint32s. <a href="#a6b5f839e8d27c6351e8d58812dd46c97">More...</a><br /></td></tr>
+<tr class="memdesc:a6b5f839e8d27c6351e8d58812dd46c97"><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> of uint32s. <a href="#a6b5f839e8d27c6351e8d58812dd46c97">More...</a><br /></td></tr>
<tr class="separator:a6b5f839e8d27c6351e8d58812dd46c97"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a67328fa21e30aecd0c27d6d2e63a2b9c"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a67328fa21e30aecd0c27d6d2e63a2b9c">ICLInt16Array</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>< cl_short ></td></tr>
-<tr class="memdesc:a67328fa21e30aecd0c27d6d2e63a2b9c"><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> of int16s. <a href="#a67328fa21e30aecd0c27d6d2e63a2b9c">More...</a><br /></td></tr>
+<tr class="memdesc:a67328fa21e30aecd0c27d6d2e63a2b9c"><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> of int16s. <a href="#a67328fa21e30aecd0c27d6d2e63a2b9c">More...</a><br /></td></tr>
<tr class="separator:a67328fa21e30aecd0c27d6d2e63a2b9c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab95380ecf1c0253f6c785c0f59194066"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab95380ecf1c0253f6c785c0f59194066">ICLInt32Array</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>< cl_int ></td></tr>
-<tr class="memdesc:ab95380ecf1c0253f6c785c0f59194066"><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> of int32s. <a href="#ab95380ecf1c0253f6c785c0f59194066">More...</a><br /></td></tr>
+<tr class="memdesc:ab95380ecf1c0253f6c785c0f59194066"><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> of int32s. <a href="#ab95380ecf1c0253f6c785c0f59194066">More...</a><br /></td></tr>
<tr class="separator:ab95380ecf1c0253f6c785c0f59194066"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a631bac7c033a0d341c631870f9755217"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a631bac7c033a0d341c631870f9755217">ICLFloatArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>< cl_float ></td></tr>
-<tr class="memdesc:a631bac7c033a0d341c631870f9755217"><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> of floats. <a href="#a631bac7c033a0d341c631870f9755217">More...</a><br /></td></tr>
+<tr class="memdesc:a631bac7c033a0d341c631870f9755217"><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> of floats. <a href="#a631bac7c033a0d341c631870f9755217">More...</a><br /></td></tr>
<tr class="separator:a631bac7c033a0d341c631870f9755217"><td class="memSeparator" colspan="2"> </td></tr>
<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="memdesc:aa80145f30ddae0c2ccbcaa910e3e71dd"><td class="mdescLeft"> </td><td class="mdescRight">Interface for OpenCL images. <a href="#aa80145f30ddae0c2ccbcaa910e3e71dd">More...</a><br /></td></tr>
@@ -2364,13 +2592,13 @@
<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="memdesc:a569a32a7a853d4708fd4f4840c88a157"><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> of Internal Key Points. <a href="#a569a32a7a853d4708fd4f4840c88a157">More...</a><br /></td></tr>
+<tr class="memdesc:a569a32a7a853d4708fd4f4840c88a157"><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> of Internal Key Points. <a href="#a569a32a7a853d4708fd4f4840c88a157">More...</a><br /></td></tr>
<tr class="separator:a569a32a7a853d4708fd4f4840c88a157"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a05d88c40a53babe38cb2cb5841c4a0ad"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a05d88c40a53babe38cb2cb5841c4a0ad">ICLCoefficientTableArray</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_coefficient_table.xhtml">CLCoefficientTable</a> ></td></tr>
-<tr class="memdesc:a05d88c40a53babe38cb2cb5841c4a0ad"><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> of Coefficient Tables. <a href="#a05d88c40a53babe38cb2cb5841c4a0ad">More...</a><br /></td></tr>
+<tr class="memdesc:a05d88c40a53babe38cb2cb5841c4a0ad"><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> of Coefficient Tables. <a href="#a05d88c40a53babe38cb2cb5841c4a0ad">More...</a><br /></td></tr>
<tr class="separator:a05d88c40a53babe38cb2cb5841c4a0ad"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a0339a19c93dde6754834a7d4ec7dab73"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0339a19c93dde6754834a7d4ec7dab73">ICLOldValArray</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_old_value.xhtml">CLOldValue</a> ></td></tr>
-<tr class="memdesc:a0339a19c93dde6754834a7d4ec7dab73"><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> of Old Values. <a href="#a0339a19c93dde6754834a7d4ec7dab73">More...</a><br /></td></tr>
+<tr class="memdesc:a0339a19c93dde6754834a7d4ec7dab73"><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> of Old Values. <a href="#a0339a19c93dde6754834a7d4ec7dab73">More...</a><br /></td></tr>
<tr class="separator:a0339a19c93dde6754834a7d4ec7dab73"><td class="memSeparator" colspan="2"> </td></tr>
<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="memdesc:ac20902ac1ef01783c8a8d71a9bdf1100"><td class="mdescLeft"> </td><td class="mdescRight">Interface for CPP Images. <a href="#ac20902ac1ef01783c8a8d71a9bdf1100">More...</a><br /></td></tr>
@@ -2388,37 +2616,34 @@
<tr class="memdesc:a227e525a4d0a4da25040cfdf8a3cf06b"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the 5x5 direct convolution kernel. <a href="#a227e525a4d0a4da25040cfdf8a3cf06b">More...</a><br /></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="memdesc:ab56a557a5fdf97819f23c35c24f0b0d2"><td class="mdescLeft"> </td><td class="mdescRight">Interface for <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 Key Points. <a href="#ab56a557a5fdf97819f23c35c24f0b0d2">More...</a><br /></td></tr>
+<tr class="memdesc:ab56a557a5fdf97819f23c35c24f0b0d2"><td class="mdescLeft"> </td><td class="mdescRight">Interface for <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 Key Points. <a href="#ab56a557a5fdf97819f23c35c24f0b0d2">More...</a><br /></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>
-<tr class="memdesc:aac9efd49d3bbbd53779713e5fb37de62"><td class="mdescLeft"> </td><td class="mdescRight">Interface for <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 2D <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a>. <a href="#aac9efd49d3bbbd53779713e5fb37de62">More...</a><br /></td></tr>
+<tr class="memdesc:aac9efd49d3bbbd53779713e5fb37de62"><td class="mdescLeft"> </td><td class="mdescRight">Interface for <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 2D <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item.">Coordinates</a>. <a href="#aac9efd49d3bbbd53779713e5fb37de62">More...</a><br /></td></tr>
<tr class="separator:aac9efd49d3bbbd53779713e5fb37de62"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a52b3b9de6092ae37321159c4c2f1bf40"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a52b3b9de6092ae37321159c4c2f1bf40">IDetectionWindowArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>< <a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a> ></td></tr>
-<tr class="memdesc:a52b3b9de6092ae37321159c4c2f1bf40"><td class="mdescLeft"> </td><td class="mdescRight">Interface for <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 Detection Windows. <a href="#a52b3b9de6092ae37321159c4c2f1bf40">More...</a><br /></td></tr>
+<tr class="memdesc:a52b3b9de6092ae37321159c4c2f1bf40"><td class="mdescLeft"> </td><td class="mdescRight">Interface for <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 Detection Windows. <a href="#a52b3b9de6092ae37321159c4c2f1bf40">More...</a><br /></td></tr>
<tr class="separator:a52b3b9de6092ae37321159c4c2f1bf40"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ae273be451a4d6de5fa255cb8fb09a64b"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae273be451a4d6de5fa255cb8fb09a64b">IROIArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>< <a class="el" href="structarm__compute_1_1_r_o_i.xhtml">ROI</a> ></td></tr>
-<tr class="memdesc:ae273be451a4d6de5fa255cb8fb09a64b"><td class="mdescLeft"> </td><td class="mdescRight">Interface for <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 ROIs. <a href="#ae273be451a4d6de5fa255cb8fb09a64b">More...</a><br /></td></tr>
-<tr class="separator:ae273be451a4d6de5fa255cb8fb09a64b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a32e4b9083329486a06960006af89a84c"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a32e4b9083329486a06960006af89a84c">ISize2DArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>< <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> ></td></tr>
-<tr class="memdesc:a32e4b9083329486a06960006af89a84c"><td class="mdescLeft"> </td><td class="mdescRight">Interface for <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 2D Sizes. <a href="#a32e4b9083329486a06960006af89a84c">More...</a><br /></td></tr>
+<tr class="memdesc:a32e4b9083329486a06960006af89a84c"><td class="mdescLeft"> </td><td class="mdescRight">Interface for <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 2D Sizes. <a href="#a32e4b9083329486a06960006af89a84c">More...</a><br /></td></tr>
<tr class="separator:a32e4b9083329486a06960006af89a84c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a276401fd5651e75431d3e1cc90601caa"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a276401fd5651e75431d3e1cc90601caa">IUInt8Array</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>< uint8_t ></td></tr>
-<tr class="memdesc:a276401fd5651e75431d3e1cc90601caa"><td class="mdescLeft"> </td><td class="mdescRight">Interface for <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 uint8s. <a href="#a276401fd5651e75431d3e1cc90601caa">More...</a><br /></td></tr>
+<tr class="memdesc:a276401fd5651e75431d3e1cc90601caa"><td class="mdescLeft"> </td><td class="mdescRight">Interface for <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 uint8s. <a href="#a276401fd5651e75431d3e1cc90601caa">More...</a><br /></td></tr>
<tr class="separator:a276401fd5651e75431d3e1cc90601caa"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1ffe8af91a934c926d102938db8d3ce1"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1ffe8af91a934c926d102938db8d3ce1">IUInt16Array</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>< uint16_t ></td></tr>
-<tr class="memdesc:a1ffe8af91a934c926d102938db8d3ce1"><td class="mdescLeft"> </td><td class="mdescRight">Interface for <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 uint16s. <a href="#a1ffe8af91a934c926d102938db8d3ce1">More...</a><br /></td></tr>
+<tr class="memdesc:a1ffe8af91a934c926d102938db8d3ce1"><td class="mdescLeft"> </td><td class="mdescRight">Interface for <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 uint16s. <a href="#a1ffe8af91a934c926d102938db8d3ce1">More...</a><br /></td></tr>
<tr class="separator:a1ffe8af91a934c926d102938db8d3ce1"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac9b2a6fa6e146437bfc8c0bee96e4760"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac9b2a6fa6e146437bfc8c0bee96e4760">IUInt32Array</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>< uint32_t ></td></tr>
-<tr class="memdesc:ac9b2a6fa6e146437bfc8c0bee96e4760"><td class="mdescLeft"> </td><td class="mdescRight">Interface for <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 uint32s. <a href="#ac9b2a6fa6e146437bfc8c0bee96e4760">More...</a><br /></td></tr>
+<tr class="memdesc:ac9b2a6fa6e146437bfc8c0bee96e4760"><td class="mdescLeft"> </td><td class="mdescRight">Interface for <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 uint32s. <a href="#ac9b2a6fa6e146437bfc8c0bee96e4760">More...</a><br /></td></tr>
<tr class="separator:ac9b2a6fa6e146437bfc8c0bee96e4760"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1dd5e04cea002eae658fa2a899848ad7"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1dd5e04cea002eae658fa2a899848ad7">IInt16Array</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>< int16_t ></td></tr>
-<tr class="memdesc:a1dd5e04cea002eae658fa2a899848ad7"><td class="mdescLeft"> </td><td class="mdescRight">Interface for <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 int16s. <a href="#a1dd5e04cea002eae658fa2a899848ad7">More...</a><br /></td></tr>
+<tr class="memdesc:a1dd5e04cea002eae658fa2a899848ad7"><td class="mdescLeft"> </td><td class="mdescRight">Interface for <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 int16s. <a href="#a1dd5e04cea002eae658fa2a899848ad7">More...</a><br /></td></tr>
<tr class="separator:a1dd5e04cea002eae658fa2a899848ad7"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a51fdf34dfc5c60b6f4f455f0a9cac457"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a51fdf34dfc5c60b6f4f455f0a9cac457">IInt32Array</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>< int32_t ></td></tr>
-<tr class="memdesc:a51fdf34dfc5c60b6f4f455f0a9cac457"><td class="mdescLeft"> </td><td class="mdescRight">Interface for <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 int32s. <a href="#a51fdf34dfc5c60b6f4f455f0a9cac457">More...</a><br /></td></tr>
+<tr class="memdesc:a51fdf34dfc5c60b6f4f455f0a9cac457"><td class="mdescLeft"> </td><td class="mdescRight">Interface for <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 int32s. <a href="#a51fdf34dfc5c60b6f4f455f0a9cac457">More...</a><br /></td></tr>
<tr class="separator:a51fdf34dfc5c60b6f4f455f0a9cac457"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a8a82a1928159e86b0778c3c14e8842be"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8a82a1928159e86b0778c3c14e8842be">IFloatArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>< float ></td></tr>
-<tr class="memdesc:a8a82a1928159e86b0778c3c14e8842be"><td class="mdescLeft"> </td><td class="mdescRight">Interface for <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 floats. <a href="#a8a82a1928159e86b0778c3c14e8842be">More...</a><br /></td></tr>
+<tr class="memdesc:a8a82a1928159e86b0778c3c14e8842be"><td class="mdescLeft"> </td><td class="mdescRight">Interface for <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 floats. <a href="#a8a82a1928159e86b0778c3c14e8842be">More...</a><br /></td></tr>
<tr class="separator:a8a82a1928159e86b0778c3c14e8842be"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a9f3ed96e009111cfbe53d3f77c712390"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9f3ed96e009111cfbe53d3f77c712390">INEKernel</a> = <a class="el" href="classarm__compute_1_1_i_c_p_p_kernel.xhtml">ICPPKernel</a></td></tr>
<tr class="memdesc:a9f3ed96e009111cfbe53d3f77c712390"><td class="mdescLeft"> </td><td class="mdescRight">Common interface for all kernels implemented in NEON. <a href="#a9f3ed96e009111cfbe53d3f77c712390">More...</a><br /></td></tr>
@@ -2463,7 +2688,7 @@
<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: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="memdesc:a19699533eb1b662e46a10715f6086487"><td class="mdescLeft"> </td><td class="mdescRight">Interface for NEON <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 Internal Key Points. <a href="#a19699533eb1b662e46a10715f6086487">More...</a><br /></td></tr>
+<tr class="memdesc:a19699533eb1b662e46a10715f6086487"><td class="mdescLeft"> </td><td class="mdescRight">Interface for NEON <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 Internal Key Points. <a href="#a19699533eb1b662e46a10715f6086487">More...</a><br /></td></tr>
<tr class="separator:a19699533eb1b662e46a10715f6086487"><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="memdesc:a38cad49e6beaef76bc1ec5064c9e9dba"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform Non-Maxima suppression 3x3 with intermediate results in FP16 if the input data type is FP32. <a href="#a38cad49e6beaef76bc1ec5064c9e9dba">More...</a><br /></td></tr>
@@ -2507,78 +2732,93 @@
<tr class="memitem:ac1a1b012674e0f1de071a611391828ad"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac1a1b012674e0f1de071a611391828ad">PaddingList</a> = std::vector< <a class="el" href="namespacearm__compute.xhtml#a669b5d3c5994f9ae3be31df9a1014297">PaddingInfo</a> ></td></tr>
<tr class="memdesc:ac1a1b012674e0f1de071a611391828ad"><td class="mdescLeft"> </td><td class="mdescRight">List of padding information. <a href="#ac1a1b012674e0f1de071a611391828ad">More...</a><br /></td></tr>
<tr class="separator:ac1a1b012674e0f1de071a611391828ad"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afe9e10e5fdfd1e2665ac17c75c0cacd8"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afe9e10e5fdfd1e2665ac17c75c0cacd8">Multiples</a> = std::vector< uint32_t ></td></tr>
+<tr class="memdesc:afe9e10e5fdfd1e2665ac17c75c0cacd8"><td class="mdescLeft"> </td><td class="mdescRight">Information to produce a tiled version of a <a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface.">Tensor</a>. <a href="#afe9e10e5fdfd1e2665ac17c75c0cacd8">More...</a><br /></td></tr>
+<tr class="separator:afe9e10e5fdfd1e2665ac17c75c0cacd8"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a8856eca9a83e16bb0cb5880e9c6c9fe7"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8856eca9a83e16bb0cb5880e9c6c9fe7">KeyPointArray</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>< <a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a> ></td></tr>
-<tr class="memdesc:a8856eca9a83e16bb0cb5880e9c6c9fe7"><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 Key Points. <a href="#a8856eca9a83e16bb0cb5880e9c6c9fe7">More...</a><br /></td></tr>
+<tr class="memdesc:a8856eca9a83e16bb0cb5880e9c6c9fe7"><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 Key Points. <a href="#a8856eca9a83e16bb0cb5880e9c6c9fe7">More...</a><br /></td></tr>
<tr class="separator:a8856eca9a83e16bb0cb5880e9c6c9fe7"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a327abccf7b43aa32d6a24319b986f3ab"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a327abccf7b43aa32d6a24319b986f3ab">Coordinates2DArray</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>< <a class="el" href="structarm__compute_1_1_coordinates2_d.xhtml">Coordinates2D</a> ></td></tr>
-<tr class="memdesc:a327abccf7b43aa32d6a24319b986f3ab"><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 2D <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a>. <a href="#a327abccf7b43aa32d6a24319b986f3ab">More...</a><br /></td></tr>
+<tr class="memdesc:a327abccf7b43aa32d6a24319b986f3ab"><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 2D <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item.">Coordinates</a>. <a href="#a327abccf7b43aa32d6a24319b986f3ab">More...</a><br /></td></tr>
<tr class="separator:a327abccf7b43aa32d6a24319b986f3ab"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5fe01ab895629edd84a511b56657d79e"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5fe01ab895629edd84a511b56657d79e">DetectionWindowArray</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>< <a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a> ></td></tr>
-<tr class="memdesc:a5fe01ab895629edd84a511b56657d79e"><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 Detection Windows. <a href="#a5fe01ab895629edd84a511b56657d79e">More...</a><br /></td></tr>
+<tr class="memdesc:a5fe01ab895629edd84a511b56657d79e"><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 Detection Windows. <a href="#a5fe01ab895629edd84a511b56657d79e">More...</a><br /></td></tr>
<tr class="separator:a5fe01ab895629edd84a511b56657d79e"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a35ae0858a604c4c0672ce857e8080ae4"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a35ae0858a604c4c0672ce857e8080ae4">ROIArray</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>< <a class="el" href="structarm__compute_1_1_r_o_i.xhtml">ROI</a> ></td></tr>
-<tr class="memdesc:a35ae0858a604c4c0672ce857e8080ae4"><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 ROIs. <a href="#a35ae0858a604c4c0672ce857e8080ae4">More...</a><br /></td></tr>
-<tr class="separator:a35ae0858a604c4c0672ce857e8080ae4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:abd445adaaca7913c9344c90dc8c76358"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abd445adaaca7913c9344c90dc8c76358">Size2DArray</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>< <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> ></td></tr>
-<tr class="memdesc:abd445adaaca7913c9344c90dc8c76358"><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 2D Sizes. <a href="#abd445adaaca7913c9344c90dc8c76358">More...</a><br /></td></tr>
+<tr class="memdesc:abd445adaaca7913c9344c90dc8c76358"><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 2D Sizes. <a href="#abd445adaaca7913c9344c90dc8c76358">More...</a><br /></td></tr>
<tr class="separator:abd445adaaca7913c9344c90dc8c76358"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a9dbb5e00a3f397691eb782f03f65375c"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9dbb5e00a3f397691eb782f03f65375c">UInt8Array</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>< uint8_t ></td></tr>
-<tr class="memdesc:a9dbb5e00a3f397691eb782f03f65375c"><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 uint8s. <a href="#a9dbb5e00a3f397691eb782f03f65375c">More...</a><br /></td></tr>
+<tr class="memdesc:a9dbb5e00a3f397691eb782f03f65375c"><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 uint8s. <a href="#a9dbb5e00a3f397691eb782f03f65375c">More...</a><br /></td></tr>
<tr class="separator:a9dbb5e00a3f397691eb782f03f65375c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab91cb2269b2e58ed2cb6bd2ca831d434"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab91cb2269b2e58ed2cb6bd2ca831d434">UInt16Array</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>< uint16_t ></td></tr>
-<tr class="memdesc:ab91cb2269b2e58ed2cb6bd2ca831d434"><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 uint16s. <a href="#ab91cb2269b2e58ed2cb6bd2ca831d434">More...</a><br /></td></tr>
+<tr class="memdesc:ab91cb2269b2e58ed2cb6bd2ca831d434"><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 uint16s. <a href="#ab91cb2269b2e58ed2cb6bd2ca831d434">More...</a><br /></td></tr>
<tr class="separator:ab91cb2269b2e58ed2cb6bd2ca831d434"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:acd6eb2619ccd5eee4963de3195785359"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#acd6eb2619ccd5eee4963de3195785359">UInt32Array</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>< uint32_t ></td></tr>
-<tr class="memdesc:acd6eb2619ccd5eee4963de3195785359"><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 uint32s. <a href="#acd6eb2619ccd5eee4963de3195785359">More...</a><br /></td></tr>
+<tr class="memdesc:acd6eb2619ccd5eee4963de3195785359"><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 uint32s. <a href="#acd6eb2619ccd5eee4963de3195785359">More...</a><br /></td></tr>
<tr class="separator:acd6eb2619ccd5eee4963de3195785359"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a69c19b38cbee8fa6680513f6ff76bbb3"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a69c19b38cbee8fa6680513f6ff76bbb3">Int16Array</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>< int16_t ></td></tr>
-<tr class="memdesc:a69c19b38cbee8fa6680513f6ff76bbb3"><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 int16s. <a href="#a69c19b38cbee8fa6680513f6ff76bbb3">More...</a><br /></td></tr>
+<tr class="memdesc:a69c19b38cbee8fa6680513f6ff76bbb3"><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 int16s. <a href="#a69c19b38cbee8fa6680513f6ff76bbb3">More...</a><br /></td></tr>
<tr class="separator:a69c19b38cbee8fa6680513f6ff76bbb3"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a6af9862834629c287a81b16837b51e44"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6af9862834629c287a81b16837b51e44">Int32Array</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>< int32_t ></td></tr>
-<tr class="memdesc:a6af9862834629c287a81b16837b51e44"><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 int32s. <a href="#a6af9862834629c287a81b16837b51e44">More...</a><br /></td></tr>
+<tr class="memdesc:a6af9862834629c287a81b16837b51e44"><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 int32s. <a href="#a6af9862834629c287a81b16837b51e44">More...</a><br /></td></tr>
<tr class="separator:a6af9862834629c287a81b16837b51e44"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a6e06029aa1b68c0cdeb80656cc9353fe"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6e06029aa1b68c0cdeb80656cc9353fe">FloatArray</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>< float ></td></tr>
-<tr class="memdesc:a6e06029aa1b68c0cdeb80656cc9353fe"><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 floats. <a href="#a6e06029aa1b68c0cdeb80656cc9353fe">More...</a><br /></td></tr>
+<tr class="memdesc:a6e06029aa1b68c0cdeb80656cc9353fe"><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 floats. <a href="#a6e06029aa1b68c0cdeb80656cc9353fe">More...</a><br /></td></tr>
<tr class="separator:a6e06029aa1b68c0cdeb80656cc9353fe"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a55e1c5ed17b7ee3762198a38eb50650a"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a55e1c5ed17b7ee3762198a38eb50650a">CLKeyPointArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>< <a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a> ></td></tr>
-<tr class="memdesc:a55e1c5ed17b7ee3762198a38eb50650a"><td class="mdescLeft"> </td><td class="mdescRight">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> of Key Points. <a href="#a55e1c5ed17b7ee3762198a38eb50650a">More...</a><br /></td></tr>
+<tr class="memdesc:a55e1c5ed17b7ee3762198a38eb50650a"><td class="mdescLeft"> </td><td class="mdescRight">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> of Key Points. <a href="#a55e1c5ed17b7ee3762198a38eb50650a">More...</a><br /></td></tr>
<tr class="separator:a55e1c5ed17b7ee3762198a38eb50650a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a0fd5f0310a26faad00b905bac3792726"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0fd5f0310a26faad00b905bac3792726">CLCoordinates2DArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>< <a class="el" href="structarm__compute_1_1_coordinates2_d.xhtml">Coordinates2D</a> ></td></tr>
-<tr class="memdesc:a0fd5f0310a26faad00b905bac3792726"><td class="mdescLeft"> </td><td class="mdescRight">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> of 2D <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a>. <a href="#a0fd5f0310a26faad00b905bac3792726">More...</a><br /></td></tr>
+<tr class="memdesc:a0fd5f0310a26faad00b905bac3792726"><td class="mdescLeft"> </td><td class="mdescRight">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> of 2D <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item.">Coordinates</a>. <a href="#a0fd5f0310a26faad00b905bac3792726">More...</a><br /></td></tr>
<tr class="separator:a0fd5f0310a26faad00b905bac3792726"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab8d2c7efb7643ce8f9e5446dbe1da0b4"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab8d2c7efb7643ce8f9e5446dbe1da0b4">CLDetectionWindowArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>< <a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a> ></td></tr>
-<tr class="memdesc:ab8d2c7efb7643ce8f9e5446dbe1da0b4"><td class="mdescLeft"> </td><td class="mdescRight">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> of Detection Windows. <a href="#ab8d2c7efb7643ce8f9e5446dbe1da0b4">More...</a><br /></td></tr>
+<tr class="memdesc:ab8d2c7efb7643ce8f9e5446dbe1da0b4"><td class="mdescLeft"> </td><td class="mdescRight">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> of Detection Windows. <a href="#ab8d2c7efb7643ce8f9e5446dbe1da0b4">More...</a><br /></td></tr>
<tr class="separator:ab8d2c7efb7643ce8f9e5446dbe1da0b4"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a7d756aef16b9c22456bb7aca8fbb4f4c"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7d756aef16b9c22456bb7aca8fbb4f4c">CLROIArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>< <a class="el" href="structarm__compute_1_1_r_o_i.xhtml">ROI</a> ></td></tr>
-<tr class="memdesc:a7d756aef16b9c22456bb7aca8fbb4f4c"><td class="mdescLeft"> </td><td class="mdescRight">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> of ROIs. <a href="#a7d756aef16b9c22456bb7aca8fbb4f4c">More...</a><br /></td></tr>
-<tr class="separator:a7d756aef16b9c22456bb7aca8fbb4f4c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a3f9ab729931f4e4fa36ff1683186d988"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3f9ab729931f4e4fa36ff1683186d988">CLSize2DArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>< <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> ></td></tr>
-<tr class="memdesc:a3f9ab729931f4e4fa36ff1683186d988"><td class="mdescLeft"> </td><td class="mdescRight">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> of 2D Sizes. <a href="#a3f9ab729931f4e4fa36ff1683186d988">More...</a><br /></td></tr>
+<tr class="memdesc:a3f9ab729931f4e4fa36ff1683186d988"><td class="mdescLeft"> </td><td class="mdescRight">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> of 2D Sizes. <a href="#a3f9ab729931f4e4fa36ff1683186d988">More...</a><br /></td></tr>
<tr class="separator:a3f9ab729931f4e4fa36ff1683186d988"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa031694bb03711e09e25546ad2b643cc"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa031694bb03711e09e25546ad2b643cc">CLUInt8Array</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>< cl_uchar ></td></tr>
-<tr class="memdesc:aa031694bb03711e09e25546ad2b643cc"><td class="mdescLeft"> </td><td class="mdescRight">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> of uint8s. <a href="#aa031694bb03711e09e25546ad2b643cc">More...</a><br /></td></tr>
+<tr class="memdesc:aa031694bb03711e09e25546ad2b643cc"><td class="mdescLeft"> </td><td class="mdescRight">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> of uint8s. <a href="#aa031694bb03711e09e25546ad2b643cc">More...</a><br /></td></tr>
<tr class="separator:aa031694bb03711e09e25546ad2b643cc"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7b4c4a79c73a3f85ba89aff03fddefa7"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7b4c4a79c73a3f85ba89aff03fddefa7">CLUInt16Array</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>< cl_ushort ></td></tr>
-<tr class="memdesc:a7b4c4a79c73a3f85ba89aff03fddefa7"><td class="mdescLeft"> </td><td class="mdescRight">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> of uint16s. <a href="#a7b4c4a79c73a3f85ba89aff03fddefa7">More...</a><br /></td></tr>
+<tr class="memdesc:a7b4c4a79c73a3f85ba89aff03fddefa7"><td class="mdescLeft"> </td><td class="mdescRight">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> of uint16s. <a href="#a7b4c4a79c73a3f85ba89aff03fddefa7">More...</a><br /></td></tr>
<tr class="separator:a7b4c4a79c73a3f85ba89aff03fddefa7"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1d7d89b7e990055dc95ed37dfb24da48"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1d7d89b7e990055dc95ed37dfb24da48">CLUInt32Array</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>< cl_uint ></td></tr>
-<tr class="memdesc:a1d7d89b7e990055dc95ed37dfb24da48"><td class="mdescLeft"> </td><td class="mdescRight">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> of uint32s. <a href="#a1d7d89b7e990055dc95ed37dfb24da48">More...</a><br /></td></tr>
+<tr class="memdesc:a1d7d89b7e990055dc95ed37dfb24da48"><td class="mdescLeft"> </td><td class="mdescRight">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> of uint32s. <a href="#a1d7d89b7e990055dc95ed37dfb24da48">More...</a><br /></td></tr>
<tr class="separator:a1d7d89b7e990055dc95ed37dfb24da48"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5fb8cb339705102066c915d18f0701ac"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5fb8cb339705102066c915d18f0701ac">CLInt16Array</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>< cl_short ></td></tr>
-<tr class="memdesc:a5fb8cb339705102066c915d18f0701ac"><td class="mdescLeft"> </td><td class="mdescRight">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> of int16s. <a href="#a5fb8cb339705102066c915d18f0701ac">More...</a><br /></td></tr>
+<tr class="memdesc:a5fb8cb339705102066c915d18f0701ac"><td class="mdescLeft"> </td><td class="mdescRight">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> of int16s. <a href="#a5fb8cb339705102066c915d18f0701ac">More...</a><br /></td></tr>
<tr class="separator:a5fb8cb339705102066c915d18f0701ac"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a8a401a071524761c661a75969c951cf5"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8a401a071524761c661a75969c951cf5">CLInt32Array</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>< cl_int ></td></tr>
-<tr class="memdesc:a8a401a071524761c661a75969c951cf5"><td class="mdescLeft"> </td><td class="mdescRight">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> of int32s. <a href="#a8a401a071524761c661a75969c951cf5">More...</a><br /></td></tr>
+<tr class="memdesc:a8a401a071524761c661a75969c951cf5"><td class="mdescLeft"> </td><td class="mdescRight">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> of int32s. <a href="#a8a401a071524761c661a75969c951cf5">More...</a><br /></td></tr>
<tr class="separator:a8a401a071524761c661a75969c951cf5"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a193a4859b365f3ef4e0d73a1e6b12c85"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a193a4859b365f3ef4e0d73a1e6b12c85">CLFloatArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>< cl_float ></td></tr>
-<tr class="memdesc:a193a4859b365f3ef4e0d73a1e6b12c85"><td class="mdescLeft"> </td><td class="mdescRight">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> of floats. <a href="#a193a4859b365f3ef4e0d73a1e6b12c85">More...</a><br /></td></tr>
+<tr class="memdesc:a193a4859b365f3ef4e0d73a1e6b12c85"><td class="mdescLeft"> </td><td class="mdescRight">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> of floats. <a href="#a193a4859b365f3ef4e0d73a1e6b12c85">More...</a><br /></td></tr>
<tr class="separator:a193a4859b365f3ef4e0d73a1e6b12c85"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac87d48489667d7ff7fc4cc7d0d12c52e"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac87d48489667d7ff7fc4cc7d0d12c52e">CLMemoryGroup</a> = <a class="el" href="classarm__compute_1_1_memory_group_base.xhtml">MemoryGroupBase</a>< <a class="el" href="classarm__compute_1_1_c_l_tensor.xhtml">CLTensor</a> ></td></tr>
-<tr class="memdesc:ac87d48489667d7ff7fc4cc7d0d12c52e"><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 in OpenCL. <a href="#ac87d48489667d7ff7fc4cc7d0d12c52e">More...</a><br /></td></tr>
+<tr class="memdesc:ac87d48489667d7ff7fc4cc7d0d12c52e"><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 in OpenCL. <a href="#ac87d48489667d7ff7fc4cc7d0d12c52e">More...</a><br /></td></tr>
<tr class="separator:ac87d48489667d7ff7fc4cc7d0d12c52e"><td class="memSeparator" colspan="2"> </td></tr>
<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="memdesc:aae712f442eae2d56d17529ca6cb9cb77"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL <a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a>. <a href="#aae712f442eae2d56d17529ca6cb9cb77">More...</a><br /></td></tr>
+<tr class="memdesc:aae712f442eae2d56d17529ca6cb9cb77"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL <a class="el" href="struct_image.xhtml" title="Structure to hold Image information.">Image</a>. <a href="#aae712f442eae2d56d17529ca6cb9cb77">More...</a><br /></td></tr>
<tr class="separator:aae712f442eae2d56d17529ca6cb9cb77"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a18e76ae589217a65f77b971de3f3f65a"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a18e76ae589217a65f77b971de3f3f65a">CLEqual</a> = <a class="el" href="classarm__compute_1_1_c_l_comparison_static.xhtml">CLComparisonStatic</a>< <a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58caf5f286e73bda105e538310b3190f75c5">ComparisonOperation::Equal</a> ></td></tr>
+<tr class="memdesc:a18e76ae589217a65f77b971de3f3f65a"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run equal comparison. <a href="#a18e76ae589217a65f77b971de3f3f65a">More...</a><br /></td></tr>
+<tr class="separator:a18e76ae589217a65f77b971de3f3f65a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aea3e261c61344f44892f8be73cfc0301"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aea3e261c61344f44892f8be73cfc0301">CLNotEqual</a> = <a class="el" href="classarm__compute_1_1_c_l_comparison_static.xhtml">CLComparisonStatic</a>< <a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca19bb0af2c3c530538cb41aff7f235b96">ComparisonOperation::NotEqual</a> ></td></tr>
+<tr class="memdesc:aea3e261c61344f44892f8be73cfc0301"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run not equal comparison. <a href="#aea3e261c61344f44892f8be73cfc0301">More...</a><br /></td></tr>
+<tr class="separator:aea3e261c61344f44892f8be73cfc0301"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab9b18840e11edcbeafcd80d4c44b80cb"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab9b18840e11edcbeafcd80d4c44b80cb">CLGreater</a> = <a class="el" href="classarm__compute_1_1_c_l_comparison_static.xhtml">CLComparisonStatic</a>< <a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca8768a6821cd735aea4f5b0df88c1fc6a">ComparisonOperation::Greater</a> ></td></tr>
+<tr class="memdesc:ab9b18840e11edcbeafcd80d4c44b80cb"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run greater comparison. <a href="#ab9b18840e11edcbeafcd80d4c44b80cb">More...</a><br /></td></tr>
+<tr class="separator:ab9b18840e11edcbeafcd80d4c44b80cb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ade630074f2c9d58d64c399bd6b49bc56"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ade630074f2c9d58d64c399bd6b49bc56">CLGreaterEqual</a> = <a class="el" href="classarm__compute_1_1_c_l_comparison_static.xhtml">CLComparisonStatic</a>< <a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca758b05d899def79c9eb864ad4f96be1f">ComparisonOperation::GreaterEqual</a> ></td></tr>
+<tr class="memdesc:ade630074f2c9d58d64c399bd6b49bc56"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run greater-equal comparison. <a href="#ade630074f2c9d58d64c399bd6b49bc56">More...</a><br /></td></tr>
+<tr class="separator:ade630074f2c9d58d64c399bd6b49bc56"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8c2c9a77f235807441eacdddd896d50c"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8c2c9a77f235807441eacdddd896d50c">CLLess</a> = <a class="el" href="classarm__compute_1_1_c_l_comparison_static.xhtml">CLComparisonStatic</a>< <a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca1cfdf0e8d0c87a228c1f40d9bee7888b">ComparisonOperation::Less</a> ></td></tr>
+<tr class="memdesc:a8c2c9a77f235807441eacdddd896d50c"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run less comparison. <a href="#a8c2c9a77f235807441eacdddd896d50c">More...</a><br /></td></tr>
+<tr class="separator:a8c2c9a77f235807441eacdddd896d50c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a258b8c95199c121d8f2a9a540cd48e5e"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a258b8c95199c121d8f2a9a540cd48e5e">CLLessEqual</a> = <a class="el" href="classarm__compute_1_1_c_l_comparison_static.xhtml">CLComparisonStatic</a>< <a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58cad3e6fdac55bb7b0edd7834c968ba1f38">ComparisonOperation::LessEqual</a> ></td></tr>
+<tr class="memdesc:a258b8c95199c121d8f2a9a540cd48e5e"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run less-equal comparison. <a href="#a258b8c95199c121d8f2a9a540cd48e5e">More...</a><br /></td></tr>
+<tr class="separator:a258b8c95199c121d8f2a9a540cd48e5e"><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="separator:a843447b81f09d837e90d44e6e6bd236d"><td class="memSeparator" colspan="2"> </td></tr>
@@ -2589,21 +2829,25 @@
<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:a70997613219641045213b0c12948fb74"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a70997613219641045213b0c12948fb74">CLLKInternalKeypointArray</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_l_k_internal_keypoint.xhtml">CLLKInternalKeypoint</a> ></td></tr>
-<tr class="memdesc:a70997613219641045213b0c12948fb74"><td class="mdescLeft"> </td><td class="mdescRight">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> of Internal Keypoints. <a href="#a70997613219641045213b0c12948fb74">More...</a><br /></td></tr>
+<tr class="memdesc:a70997613219641045213b0c12948fb74"><td class="mdescLeft"> </td><td class="mdescRight">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> of Internal Keypoints. <a href="#a70997613219641045213b0c12948fb74">More...</a><br /></td></tr>
<tr class="separator:a70997613219641045213b0c12948fb74"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:afcef84cf3b7d147b2b6ab0bd884afc16"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afcef84cf3b7d147b2b6ab0bd884afc16">CLCoefficientTableArray</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_coefficient_table.xhtml">CLCoefficientTable</a> ></td></tr>
-<tr class="memdesc:afcef84cf3b7d147b2b6ab0bd884afc16"><td class="mdescLeft"> </td><td class="mdescRight">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> of Coefficient Tables. <a href="#afcef84cf3b7d147b2b6ab0bd884afc16">More...</a><br /></td></tr>
+<tr class="memdesc:afcef84cf3b7d147b2b6ab0bd884afc16"><td class="mdescLeft"> </td><td class="mdescRight">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> of Coefficient Tables. <a href="#afcef84cf3b7d147b2b6ab0bd884afc16">More...</a><br /></td></tr>
<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="memdesc:a4ec6965f606c588137f7a48d84c1d6f0"><td class="mdescLeft"> </td><td class="mdescRight">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> of Old Values. <a href="#a4ec6965f606c588137f7a48d84c1d6f0">More...</a><br /></td></tr>
+<tr class="memdesc:a4ec6965f606c588137f7a48d84c1d6f0"><td class="mdescLeft"> </td><td class="mdescRight">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> of Old Values. <a href="#a4ec6965f606c588137f7a48d84c1d6f0">More...</a><br /></td></tr>
<tr class="separator:a4ec6965f606c588137f7a48d84c1d6f0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a4ec997c1b05a1fd406828bc7e1f41dad"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4ec997c1b05a1fd406828bc7e1f41dad">NormalizedBBox</a> = std::array< float, 4 ></td></tr>
+<tr class="separator:a4ec997c1b05a1fd406828bc7e1f41dad"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a668a7893195a4a08c4d26afd2b15a6b4"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a668a7893195a4a08c4d26afd2b15a6b4">LabelBBox</a> = std::map< int, std::vector< <a class="el" href="namespacearm__compute.xhtml#a4ec997c1b05a1fd406828bc7e1f41dad">NormalizedBBox</a> > ></td></tr>
+<tr class="separator:a668a7893195a4a08c4d26afd2b15a6b4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:abb079bea3cd2a65a7018eab99392747e"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abb079bea3cd2a65a7018eab99392747e">GCMemoryGroup</a> = <a class="el" href="classarm__compute_1_1_memory_group_base.xhtml">MemoryGroupBase</a>< <a class="el" href="classarm__compute_1_1_g_c_tensor.xhtml">GCTensor</a> ></td></tr>
<tr class="separator:abb079bea3cd2a65a7018eab99392747e"><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="memdesc:a0b1d72d612fb6f33393ea6cd6cbcf523"><td class="mdescLeft"> </td><td class="mdescRight">OpenGL ES <a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a>. <a href="#a0b1d72d612fb6f33393ea6cd6cbcf523">More...</a><br /></td></tr>
+<tr class="memdesc:a0b1d72d612fb6f33393ea6cd6cbcf523"><td class="mdescLeft"> </td><td class="mdescRight">OpenGL ES <a class="el" href="struct_image.xhtml" title="Structure to hold Image information.">Image</a>. <a href="#a0b1d72d612fb6f33393ea6cd6cbcf523">More...</a><br /></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="memdesc:a0e7a03e2e133cb1fbb12517a3f646a09"><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="#a0e7a03e2e133cb1fbb12517a3f646a09">More...</a><br /></td></tr>
+<tr class="memdesc:a0e7a03e2e133cb1fbb12517a3f646a09"><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="#a0e7a03e2e133cb1fbb12517a3f646a09">More...</a><br /></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>
@@ -2614,14 +2858,32 @@
<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="separator:ae5a088552f26a1afafd0cbf821d256fb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8fdefd8ed8639758d0aa6c68087d55e6"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8fdefd8ed8639758d0aa6c68087d55e6">NEEqual</a> = <a class="el" href="classarm__compute_1_1_n_e_elementwise_comparison_static.xhtml">NEElementwiseComparisonStatic</a>< <a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58caf5f286e73bda105e538310b3190f75c5">ComparisonOperation::Equal</a> ></td></tr>
+<tr class="memdesc:a8fdefd8ed8639758d0aa6c68087d55e6"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run equal comparison. <a href="#a8fdefd8ed8639758d0aa6c68087d55e6">More...</a><br /></td></tr>
+<tr class="separator:a8fdefd8ed8639758d0aa6c68087d55e6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a732ac47723cd850cc5ffa208bc3e3b00"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a732ac47723cd850cc5ffa208bc3e3b00">NENotEqual</a> = <a class="el" href="classarm__compute_1_1_n_e_elementwise_comparison_static.xhtml">NEElementwiseComparisonStatic</a>< <a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca19bb0af2c3c530538cb41aff7f235b96">ComparisonOperation::NotEqual</a> ></td></tr>
+<tr class="memdesc:a732ac47723cd850cc5ffa208bc3e3b00"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run not equal comparison. <a href="#a732ac47723cd850cc5ffa208bc3e3b00">More...</a><br /></td></tr>
+<tr class="separator:a732ac47723cd850cc5ffa208bc3e3b00"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a44f1c40220d4ac837899ef5ebf7aaee9"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a44f1c40220d4ac837899ef5ebf7aaee9">NEGreater</a> = <a class="el" href="classarm__compute_1_1_n_e_elementwise_comparison_static.xhtml">NEElementwiseComparisonStatic</a>< <a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca8768a6821cd735aea4f5b0df88c1fc6a">ComparisonOperation::Greater</a> ></td></tr>
+<tr class="memdesc:a44f1c40220d4ac837899ef5ebf7aaee9"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run greater comparison. <a href="#a44f1c40220d4ac837899ef5ebf7aaee9">More...</a><br /></td></tr>
+<tr class="separator:a44f1c40220d4ac837899ef5ebf7aaee9"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa09ba119a3b8b2950581f7c80e9445b6"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa09ba119a3b8b2950581f7c80e9445b6">NEGreaterEqual</a> = <a class="el" href="classarm__compute_1_1_n_e_elementwise_comparison_static.xhtml">NEElementwiseComparisonStatic</a>< <a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca758b05d899def79c9eb864ad4f96be1f">ComparisonOperation::GreaterEqual</a> ></td></tr>
+<tr class="memdesc:aa09ba119a3b8b2950581f7c80e9445b6"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run greater-equal comparison. <a href="#aa09ba119a3b8b2950581f7c80e9445b6">More...</a><br /></td></tr>
+<tr class="separator:aa09ba119a3b8b2950581f7c80e9445b6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a36ae4d66ca830f6aeef54964b0c31fd3"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a36ae4d66ca830f6aeef54964b0c31fd3">NELess</a> = <a class="el" href="classarm__compute_1_1_n_e_elementwise_comparison_static.xhtml">NEElementwiseComparisonStatic</a>< <a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca1cfdf0e8d0c87a228c1f40d9bee7888b">ComparisonOperation::Less</a> ></td></tr>
+<tr class="memdesc:a36ae4d66ca830f6aeef54964b0c31fd3"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run less comparison. <a href="#a36ae4d66ca830f6aeef54964b0c31fd3">More...</a><br /></td></tr>
+<tr class="separator:a36ae4d66ca830f6aeef54964b0c31fd3"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab10ab37a597594e7aabec4a067988d37"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab10ab37a597594e7aabec4a067988d37">NELessEqual</a> = <a class="el" href="classarm__compute_1_1_n_e_elementwise_comparison_static.xhtml">NEElementwiseComparisonStatic</a>< <a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58cad3e6fdac55bb7b0edd7834c968ba1f38">ComparisonOperation::LessEqual</a> ></td></tr>
+<tr class="memdesc:ab10ab37a597594e7aabec4a067988d37"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run less-equal comparison. <a href="#ab10ab37a597594e7aabec4a067988d37">More...</a><br /></td></tr>
+<tr class="separator:ab10ab37a597594e7aabec4a067988d37"><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="memdesc:a681c120e2188371794ec3a59768c64ab"><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 LK Internel Keypoints. <a href="#a681c120e2188371794ec3a59768c64ab">More...</a><br /></td></tr>
+<tr class="memdesc:a681c120e2188371794ec3a59768c64ab"><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 LK Internel Keypoints. <a href="#a681c120e2188371794ec3a59768c64ab">More...</a><br /></td></tr>
<tr class="separator:a681c120e2188371794ec3a59768c64ab"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a0604c803e41880a4a16408efc4e6a69b"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0604c803e41880a4a16408efc4e6a69b">NEScheduler</a> = <a class="el" href="classarm__compute_1_1_scheduler.xhtml">Scheduler</a></td></tr>
<tr class="memdesc:a0604c803e41880a4a16408efc4e6a69b"><td class="mdescLeft"> </td><td class="mdescRight">NEON <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>. <a href="#a0604c803e41880a4a16408efc4e6a69b">More...</a><br /></td></tr>
<tr class="separator:a0604c803e41880a4a16408efc4e6a69b"><td class="memSeparator" colspan="2"> </td></tr>
<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="memdesc:a7fb6a368d181ef193475f725c713430a"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a>. <a href="#a7fb6a368d181ef193475f725c713430a">More...</a><br /></td></tr>
+<tr class="memdesc:a7fb6a368d181ef193475f725c713430a"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="struct_image.xhtml" title="Structure to hold Image information.">Image</a>. <a href="#a7fb6a368d181ef193475f725c713430a">More...</a><br /></td></tr>
<tr class="separator:a7fb6a368d181ef193475f725c713430a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a43b7da220a8ead83acff98f218f7eb6b"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a43b7da220a8ead83acff98f218f7eb6b">MemoryMappings</a> = std::map< <a class="el" href="classarm__compute_1_1_i_memory.xhtml">IMemory</a> *, size_t ></td></tr>
<tr class="memdesc:a43b7da220a8ead83acff98f218f7eb6b"><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="#a43b7da220a8ead83acff98f218f7eb6b">More...</a><br /></td></tr>
@@ -2664,8 +2926,8 @@
<br />
  <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>
<br />
- }<tr class="memdesc:a3a440b3893fa10608d4428958be1c52e"><td class="mdescLeft"> </td><td class="mdescRight">Available OpenCL Version. <a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52e">More...</a><br /></td></tr>
-</td></tr>
+ }</td></tr>
+<tr class="memdesc:a3a440b3893fa10608d4428958be1c52e"><td class="mdescLeft"> </td><td class="mdescRight">Available OpenCL Version. <a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52e">More...</a><br /></td></tr>
<tr class="separator:a3a440b3893fa10608d4428958be1c52e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa41d7415a5386798147cccae2333d5d4"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4">CPUModel</a> { <br />
  <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4ac942dc2a9f958acddc67e11472d3ca0b">GENERIC</a>,
@@ -2676,19 +2938,19 @@
  <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a33f91a7ec1c6be774d71fcd00ac81c92">A55r0</a>,
<a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a2f2d74257db975404ff4ca97ce1e0bca">A55r1</a>
<br />
- }<tr class="memdesc:aa41d7415a5386798147cccae2333d5d4"><td class="mdescLeft"> </td><td class="mdescRight">CPU models - we only need to detect CPUs we have microarchitecture-specific code for. <a href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4">More...</a><br /></td></tr>
-</td></tr>
+ }</td></tr>
+<tr class="memdesc:aa41d7415a5386798147cccae2333d5d4"><td class="mdescLeft"> </td><td class="mdescRight">CPU models - we only need to detect CPUs we have microarchitecture-specific code for. <a href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4">More...</a><br /></td></tr>
<tr class="separator:aa41d7415a5386798147cccae2333d5d4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4c9101ca1a1f72f48efff28b4b9a6495"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4c9101ca1a1f72f48efff28b4b9a6495">MemoryPolicy</a> { <a class="el" href="namespacearm__compute.xhtml#a4c9101ca1a1f72f48efff28b4b9a6495a704bfa6c1ed5e479c8cfb5bdfc8cccda">MINIMIZE</a>,
<a class="el" href="namespacearm__compute.xhtml#a4c9101ca1a1f72f48efff28b4b9a6495a1e23852820b9154316c7c06e2b7ba051">NORMAL</a>
- }<tr class="memdesc:a4c9101ca1a1f72f48efff28b4b9a6495"><td class="mdescLeft"> </td><td class="mdescRight">Global memory policy. <a href="namespacearm__compute.xhtml#a4c9101ca1a1f72f48efff28b4b9a6495">More...</a><br /></td></tr>
-</td></tr>
+ }</td></tr>
+<tr class="memdesc:a4c9101ca1a1f72f48efff28b4b9a6495"><td class="mdescLeft"> </td><td class="mdescRight">Global memory policy. <a href="namespacearm__compute.xhtml#a4c9101ca1a1f72f48efff28b4b9a6495">More...</a><br /></td></tr>
<tr class="separator:a4c9101ca1a1f72f48efff28b4b9a6495"><td class="memSeparator" colspan="2"> </td></tr>
<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>,
<a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa0ffe8be9137815d1266845a195c053c7">UNSUPPORTED_EXTENSION_USE</a>
- }<tr class="memdesc:a59e56af19e754a6aa26a612ebf91d05f"><td class="mdescLeft"> </td><td class="mdescRight">Available error codes. <a href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05f">More...</a><br /></td></tr>
-</td></tr>
+ }</td></tr>
+<tr class="memdesc:a59e56af19e754a6aa26a612ebf91d05f"><td class="mdescLeft"> </td><td class="mdescRight">Available error codes. <a href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05f">More...</a><br /></td></tr>
<tr class="separator:a59e56af19e754a6aa26a612ebf91d05f"><td class="memSeparator" colspan="2"> </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 />
  <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a> = 0x101,
@@ -2713,14 +2975,14 @@
<br />
  <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a53e518b6393904e797819c7a941f9ddc">TBOX</a> = 0x270
<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>
+ }</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>
<tr class="separator:a735ac6c2a02e320969625308810444f3"><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>
+ }</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: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>,
@@ -2745,8 +3007,8 @@
<br />
  <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>
<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>
+ }</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>
<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 />
  <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>,
@@ -2767,69 +3029,87 @@
  <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>,
<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>
+ }</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>
<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>
+ }</td></tr>
+<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>
<tr class="separator:a16a59381d4d74d17d86d69eb4d286d7b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad1d5cce2d9e9a5d61c243e5c989112e0"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> { <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>,
<a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">NCHW</a>,
<a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">NHWC</a>
- }<tr class="memdesc:ad1d5cce2d9e9a5d61c243e5c989112e0"><td class="mdescLeft"> </td><td class="mdescRight">[DataLayout enum definition] <a href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">More...</a><br /></td></tr>
-</td></tr>
+ }</td></tr>
+<tr class="memdesc:ad1d5cce2d9e9a5d61c243e5c989112e0"><td class="mdescLeft"> </td><td class="mdescRight">[DataLayout enum definition] <a href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">More...</a><br /></td></tr>
<tr class="separator:ad1d5cce2d9e9a5d61c243e5c989112e0"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a74ce3f7420453d3446218ff3b7453e02"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02">DataLayoutDimension</a> { <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02af52e9c50a060add65a035429b2a22229">CHANNEL</a>,
<a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02ad770ba3ce18fa409965dfdf5e7c348e6">HEIGHT</a>,
<a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195">WIDTH</a>,
<a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a628bcf7e10fc1c2a984f379a1ec3393a">BATCHES</a>
- }<tr class="memdesc:a74ce3f7420453d3446218ff3b7453e02"><td class="mdescLeft"> </td><td class="mdescRight">[DataLayout enum definition] <a href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02">More...</a><br /></td></tr>
-</td></tr>
+ }</td></tr>
+<tr class="memdesc:a74ce3f7420453d3446218ff3b7453e02"><td class="mdescLeft"> </td><td class="mdescRight">[DataLayout enum definition] <a href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02">More...</a><br /></td></tr>
<tr class="separator:a74ce3f7420453d3446218ff3b7453e02"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a683661ae75dcb7aef16b9c9bde31517d"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517d">ConvolutionMethod</a> { <a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da5174aac3927faa9ee34befb7fc87a9e3">GEMM</a>,
+<a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da4c5d06b02c97731aaa976179c62dcf76">DIRECT</a>,
+<a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da9d024a5762b3a992dec7eb3c49d17ae8">WINOGRAD</a>
+ }</td></tr>
+<tr class="memdesc:a683661ae75dcb7aef16b9c9bde31517d"><td class="mdescLeft"> </td><td class="mdescRight">Available ConvolutionMethod. <a href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517d">More...</a><br /></td></tr>
+<tr class="separator:a683661ae75dcb7aef16b9c9bde31517d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2d299363c9fc33334c571fa29ca4f58c"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58c">ComparisonOperation</a> { <br />
+  <a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58caf5f286e73bda105e538310b3190f75c5">Equal</a>,
+<a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca19bb0af2c3c530538cb41aff7f235b96">NotEqual</a>,
+<a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca8768a6821cd735aea4f5b0df88c1fc6a">Greater</a>,
+<a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca758b05d899def79c9eb864ad4f96be1f">GreaterEqual</a>,
+<br />
+  <a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca1cfdf0e8d0c87a228c1f40d9bee7888b">Less</a>,
+<a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58cad3e6fdac55bb7b0edd7834c968ba1f38">LessEqual</a>
+<br />
+ }</td></tr>
+<tr class="memdesc:a2d299363c9fc33334c571fa29ca4f58c"><td class="mdescLeft"> </td><td class="mdescRight">Supported comparison operations. <a href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58c">More...</a><br /></td></tr>
+<tr class="separator:a2d299363c9fc33334c571fa29ca4f58c"><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>
- }<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>
+ }</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="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>
- }<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>
+ }</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="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>
- }<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>
+ }</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="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>
- }<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>
+ }</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="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>
- }<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>
+ }</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="separator:a3e6b23e675649b83240691abbc42a649"><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>
- }<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>
+ }</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="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>
- }<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>
+ }</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="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>
- }<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>
+ }</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="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 />
  <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>,
@@ -2847,78 +3127,102 @@
<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>,
<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a>
<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>
+ }</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>
<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>
- }<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>
+ }</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="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
- }<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>
+ }</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="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>,
-<a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45bafc54513dae613e117ffc4169e48bfce5">MEAN_SUM</a>
- }<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="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> { <br />
+  <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba654fed6e9b6c154d04bcaa439e32d0d5">ARG_IDX_MAX</a>,
+<a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba39102811589b9a0d7a6aa8721663b4d1">ARG_IDX_MIN</a>,
+<a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45bafc54513dae613e117ffc4169e48bfce5">MEAN_SUM</a>,
+<a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45bac8074bb318fb85693233e64acc64c1ed">PROD</a>,
+<br />
+  <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64">SUM_SQUARE</a>,
+<a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a">SUM</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>
<tr class="separator:a5827eb9cb394e74af87f74bd354fb45b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a23d9f0c01c9e120dfb828ee922b7a8ae"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a23d9f0c01c9e120dfb828ee922b7a8ae">ArithmeticOperation</a> { <br />
+  <a class="el" href="namespacearm__compute.xhtml#a23d9f0c01c9e120dfb828ee922b7a8aea9eeb52badb613229884838847294b90d">ADD</a>,
+<a class="el" href="namespacearm__compute.xhtml#a23d9f0c01c9e120dfb828ee922b7a8aea241dd841abade20fcb27b8a9f494e1eb">SUB</a>,
+<a class="el" href="namespacearm__compute.xhtml#a23d9f0c01c9e120dfb828ee922b7a8aea29bbf66f7f8529ec47e394fb5a36c646">DIV</a>,
+<a class="el" href="namespacearm__compute.xhtml#a23d9f0c01c9e120dfb828ee922b7a8aeace31e2a082d17e038fcc6e3006166653">MIN</a>,
+<br />
+  <a class="el" href="namespacearm__compute.xhtml#a23d9f0c01c9e120dfb828ee922b7a8aea26a4b44a837bf97b972628509912b4a5">MAX</a>,
+<a class="el" href="namespacearm__compute.xhtml#a23d9f0c01c9e120dfb828ee922b7a8aea46ea186b87dc545033d86ba8d6e63916">SQUARED_DIFF</a>
+<br />
+ }</td></tr>
+<tr class="memdesc:a23d9f0c01c9e120dfb828ee922b7a8ae"><td class="mdescLeft"> </td><td class="mdescRight">Available element-wise operations. <a href="namespacearm__compute.xhtml#a23d9f0c01c9e120dfb828ee922b7a8ae">More...</a><br /></td></tr>
+<tr class="separator:a23d9f0c01c9e120dfb828ee922b7a8ae"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5dad01b7eab116403241313417e0936d"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936d">ElementWiseUnary</a> { <a class="el" href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936da66bac724670f51e77f3688d33ca0d781">RSQRT</a>,
+<a class="el" href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936da8c670f8c37b95e1ed14a0ce414b049c7">EXP</a>
+ }</td></tr>
+<tr class="memdesc:a5dad01b7eab116403241313417e0936d"><td class="mdescLeft"> </td><td class="mdescRight">Available element wise unary operations. <a href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936d">More...</a><br /></td></tr>
+<tr class="separator:a5dad01b7eab116403241313417e0936d"><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>
- }<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>
+ }</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="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
- }<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>
+ }</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="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>
- }<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>
+ }</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="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>
- }<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>
+ }</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="separator:a9172da722f0a434e5cc07c0a3c115d93"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a201391f6e13e2a1ac203256a77792718"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a201391f6e13e2a1ac203256a77792718">NMSType</a> { <a class="el" href="namespacearm__compute.xhtml#a201391f6e13e2a1ac203256a77792718aaac544aacc3615aada24897a215f5046">LINEAR</a>,
<a class="el" href="namespacearm__compute.xhtml#a201391f6e13e2a1ac203256a77792718a0fceff26ae86a047835cafbb6cadb1b9">GAUSSIAN</a>,
<a class="el" href="namespacearm__compute.xhtml#a201391f6e13e2a1ac203256a77792718aa87d5006e1de1bfc07d5c56086ad20f1">ORIGINAL</a>
- }<tr class="memdesc:a201391f6e13e2a1ac203256a77792718"><td class="mdescLeft"> </td><td class="mdescRight">Available non maxima suppression types. <a href="namespacearm__compute.xhtml#a201391f6e13e2a1ac203256a77792718">More...</a><br /></td></tr>
-</td></tr>
+ }</td></tr>
+<tr class="memdesc:a201391f6e13e2a1ac203256a77792718"><td class="mdescLeft"> </td><td class="mdescRight">Available non maxima suppression types. <a href="namespacearm__compute.xhtml#a201391f6e13e2a1ac203256a77792718">More...</a><br /></td></tr>
<tr class="separator:a201391f6e13e2a1ac203256a77792718"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad818ba0ecd4a87d8f1bb0d5b17f07830"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad818ba0ecd4a87d8f1bb0d5b17f07830">DetectionOutputLayerCodeType</a> { <a class="el" href="namespacearm__compute.xhtml#ad818ba0ecd4a87d8f1bb0d5b17f07830ac411afd31d32cec664d372acc12f404a">CORNER</a>,
+<a class="el" href="namespacearm__compute.xhtml#ad818ba0ecd4a87d8f1bb0d5b17f07830a1150a8d7752b01d30d91fe18fe9d8a54">CENTER_SIZE</a>,
+<a class="el" href="namespacearm__compute.xhtml#ad818ba0ecd4a87d8f1bb0d5b17f07830afbc6c35854fe02eb9e792f897399c42a">CORNER_SIZE</a>,
+<a class="el" href="namespacearm__compute.xhtml#ad818ba0ecd4a87d8f1bb0d5b17f07830ae65a115db9b4bcc4ae0aa0b989089d16">TF_CENTER</a>
+ }</td></tr>
+<tr class="memdesc:ad818ba0ecd4a87d8f1bb0d5b17f07830"><td class="mdescLeft"> </td><td class="mdescRight">Available Detection Output code types. <a href="namespacearm__compute.xhtml#ad818ba0ecd4a87d8f1bb0d5b17f07830">More...</a><br /></td></tr>
+<tr class="separator:ad818ba0ecd4a87d8f1bb0d5b17f07830"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5558e2cc22f7f4771653d992c8ad8864"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864">GEMMLowpOutputStageType</a> { <a class="el" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864ab50339a10e1de285ac99d4c3990b8693">NONE</a>,
<a class="el" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864a079e2ddc95b344b5cb0188bed9a80d8b">QUANTIZE_DOWN</a>,
<a class="el" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864ab300cae200f67712c1eb9234e28158ca">QUANTIZE_DOWN_FIXEDPOINT</a>,
<a class="el" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864aad664ac5008f135e38afeb391e524f9c">QUANTIZE_DOWN_FLOAT</a>
- }<tr class="memdesc:a5558e2cc22f7f4771653d992c8ad8864"><td class="mdescLeft"> </td><td class="mdescRight">GEMMLowp output stage type. <a href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864">More...</a><br /></td></tr>
-</td></tr>
+ }</td></tr>
+<tr class="memdesc:a5558e2cc22f7f4771653d992c8ad8864"><td class="mdescLeft"> </td><td class="mdescRight">GEMMLowp output stage type. <a href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864">More...</a><br /></td></tr>
<tr class="separator:a5558e2cc22f7f4771653d992c8ad8864"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a683661ae75dcb7aef16b9c9bde31517d"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517d">ConvolutionMethod</a> { <a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da5174aac3927faa9ee34befb7fc87a9e3">GEMM</a>,
-<a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da4c5d06b02c97731aaa976179c62dcf76">DIRECT</a>,
-<a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da9d024a5762b3a992dec7eb3c49d17ae8">WINOGRAD</a>
- }<tr class="memdesc:a683661ae75dcb7aef16b9c9bde31517d"><td class="mdescLeft"> </td><td class="mdescRight">Available ConvolutionMethod. <a href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517d">More...</a><br /></td></tr>
-</td></tr>
-<tr class="separator:a683661ae75dcb7aef16b9c9bde31517d"><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>
- }<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>
+ }</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="separator:af0a4d6be70322c742c12da1edccbb74d"><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>
+ }</td></tr>
+<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>
<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>
@@ -2959,6 +3263,9 @@
<tr class="memitem:a7f5aff064f09dd7f355aaaf7641bf7d3"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7f5aff064f09dd7f355aaaf7641bf7d3">cl_winograd_convolution_layer_supported</a> (const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &output_tile, const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &kernel_size, <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> data_layout)</td></tr>
<tr class="memdesc:a7f5aff064f09dd7f355aaaf7641bf7d3"><td class="mdescLeft"> </td><td class="mdescRight">This function checks if the Winograd configuration (defined through the output tile, kernel size and the data layout) is supported on OpenCL. <a href="#a7f5aff064f09dd7f355aaaf7641bf7d3">More...</a><br /></td></tr>
<tr class="separator:a7f5aff064f09dd7f355aaaf7641bf7d3"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1bd532ddb5d86290e40c0b482eb476f2"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1bd532ddb5d86290e40c0b482eb476f2">preferred_vector_width</a> (const cl::Device &device, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt)</td></tr>
+<tr class="memdesc:a1bd532ddb5d86290e40c0b482eb476f2"><td class="mdescLeft"> </td><td class="mdescRight">Helper function to get the preferred native vector width size for built-in scalar types that can be put into vectors. <a href="#a1bd532ddb5d86290e40c0b482eb476f2">More...</a><br /></td></tr>
+<tr class="separator:a1bd532ddb5d86290e40c0b482eb476f2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5c8dc3902d1a2de5b20aa249fb483eea"><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#a5c8dc3902d1a2de5b20aa249fb483eea">error_on_unsupported_int64_base_atomics</a> (const char *function, const char *file, const int line)</td></tr>
<tr class="memdesc:a5c8dc3902d1a2de5b20aa249fb483eea"><td class="mdescLeft"> </td><td class="mdescRight">Return an error if int64_base_atomics extension is not supported by the device. <a href="#a5c8dc3902d1a2de5b20aa249fb483eea">More...</a><br /></td></tr>
<tr class="separator:a5c8dc3902d1a2de5b20aa249fb483eea"><td class="memSeparator" colspan="2"> </td></tr>
@@ -3035,6 +3342,9 @@
<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="separator:ad656a27ce8a507e31096ca45683ba9a5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad863f23e0037a10bacad6c483ab4e663"><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad863f23e0037a10bacad6c483ab4e663">delta_bilinear_c1_quantized</a> (const uint8_t *pixel_ptr, size_t stride, float dx, float dy, <a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> iq_info, <a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> oq_info)</td></tr>
+<tr class="memdesc:ad863f23e0037a10bacad6c483ab4e663"><td class="mdescLeft"> </td><td class="mdescRight">Computes bilinear interpolation for quantized input and output, 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="#ad863f23e0037a10bacad6c483ab4e663">More...</a><br /></td></tr>
+<tr class="separator:ad863f23e0037a10bacad6c483ab4e663"><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>
@@ -3094,10 +3404,10 @@
<tr class="separator:a8c35748731709927597cb5a2c227e682"><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="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:a5045aaec85553032a782c44ab8d26341"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5045aaec85553032a782c44ab8d26341">permute</a> (<a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &shape, const <a class="el" href="namespacearm__compute.xhtml#a33e65be485104e2e9e69fca551d6f492">PermutationVector</a> &perm)</td></tr>
-<tr class="memdesc:a5045aaec85553032a782c44ab8d26341"><td class="mdescLeft"> </td><td class="mdescRight">Permutes given <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml" title="Shape of a tensor. ">TensorShape</a> according to a permutation vector. <a href="#a5045aaec85553032a782c44ab8d26341">More...</a><br /></td></tr>
+<tr class="memdesc:a5045aaec85553032a782c44ab8d26341"><td class="mdescLeft"> </td><td class="mdescRight">Permutes given <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml" title="Shape of a tensor.">TensorShape</a> according to a permutation vector. <a href="#a5045aaec85553032a782c44ab8d26341">More...</a><br /></td></tr>
<tr class="separator:a5045aaec85553032a782c44ab8d26341"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a47be6fa38308d0003c25b60b7dbc45ce"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a47be6fa38308d0003c25b60b7dbc45ce">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, <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="memdesc:a47be6fa38308d0003c25b60b7dbc45ce"><td class="mdescLeft"> </td><td class="mdescRight">Auto initialize the tensor info (shape, number of channels and data type) if the current assignment is empty. <a href="#a47be6fa38308d0003c25b60b7dbc45ce">More...</a><br /></td></tr>
@@ -3138,6 +3448,10 @@
<tr class="memitem:a3b0c016b53e97663b39c2f3875f46c24"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3b0c016b53e97663b39c2f3875f46c24">compute_winograd_convolution_tiles</a> (const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &in_dims, const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &kernel_size, const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &output_tile_size, const <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> &conv_info)</td></tr>
<tr class="memdesc:a3b0c016b53e97663b39c2f3875f46c24"><td class="mdescLeft"> </td><td class="mdescRight">Calculate the number of output tiles required by Winograd Convolution layer. <a href="#a3b0c016b53e97663b39c2f3875f46c24">More...</a><br /></td></tr>
<tr class="separator:a3b0c016b53e97663b39c2f3875f46c24"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aeb6881009f40f57d430752441ec5c4f4"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
+<tr class="memitem:aeb6881009f40f57d430752441ec5c4f4"><td class="memTemplItemLeft" align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aeb6881009f40f57d430752441ec5c4f4">wrap_around</a> (T x, T m)</td></tr>
+<tr class="memdesc:aeb6881009f40f57d430752441ec5c4f4"><td class="mdescLeft"> </td><td class="mdescRight">Wrap-around a number within the range 0 <= x < m. <a href="#aeb6881009f40f57d430752441ec5c4f4">More...</a><br /></td></tr>
+<tr class="separator:aeb6881009f40f57d430752441ec5c4f4"><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="separator:a41c1523098580451b378f76b8c37a0f0"><td class="memSeparator" colspan="2"> </td></tr>
@@ -3154,6 +3468,12 @@
<tr class="memitem:a695a8105065167f7e4596d31f23a3573"><td class="memTemplItemLeft" align="right" valign="top">uint8x16_t </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a695a8105065167f7e4596d31f23a3573">finalize_quantization</a> (int32x4x4_t &in_s32, int result_fixedpoint_multiplier, int32_t result_shift, int32x4_t result_offset_after_shift_s32, uint8x16_t min_u8, uint8x16_t max_u8)</td></tr>
<tr class="memdesc:a695a8105065167f7e4596d31f23a3573"><td class="mdescLeft"> </td><td class="mdescRight">Performs final quantization step on 16 elements. <a href="#a695a8105065167f7e4596d31f23a3573">More...</a><br /></td></tr>
<tr class="separator:a695a8105065167f7e4596d31f23a3573"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a04ae4ae815c47d443852428a0528a7d2"><td class="memItemLeft" align="right" valign="top">float32x4x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a04ae4ae815c47d443852428a0528a7d2">vdequantize</a> (const uint8x16_t &qv, const <a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> &qi)</td></tr>
+<tr class="memdesc:a04ae4ae815c47d443852428a0528a7d2"><td class="mdescLeft"> </td><td class="mdescRight">Dequantize a neon vector holding 16 quantized values. <a href="#a04ae4ae815c47d443852428a0528a7d2">More...</a><br /></td></tr>
+<tr class="separator:a04ae4ae815c47d443852428a0528a7d2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6554986624335b7c05f968342630f530"><td class="memItemLeft" align="right" valign="top">uint8x16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6554986624335b7c05f968342630f530">vquantize</a> (const float32x4x4_t &qv, const <a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> &qi)</td></tr>
+<tr class="memdesc:a6554986624335b7c05f968342630f530"><td class="mdescLeft"> </td><td class="mdescRight">Quantize a neon vector holding 16 floating point values. <a href="#a6554986624335b7c05f968342630f530">More...</a><br /></td></tr>
+<tr class="separator:a6554986624335b7c05f968342630f530"><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="memdesc:a93cc303c8ae098d264f07d37890412de"><td class="mdescLeft"> </td><td class="mdescRight">Convert RGB to RGBX. <a href="#a93cc303c8ae098d264f07d37890412de">More...</a><br /></td></tr>
<tr class="separator:a93cc303c8ae098d264f07d37890412de"><td class="memSeparator" colspan="2"> </td></tr>
@@ -3258,7 +3578,7 @@
<tr class="memdesc:a23062881efd3855d61bae58f330c97db"><td class="mdescLeft"> </td><td class="mdescRight">Computes the largest number smaller or equal to value that is a multiple of divisor. <a href="#a23062881efd3855d61bae58f330c97db">More...</a><br /></td></tr>
<tr class="separator:a23062881efd3855d61bae58f330c97db"><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" title="Copyright (c) 2017-2018 ARM Limited. ">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="Copyright (c) 2017-2018 ARM Limited.">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:ae0d288429eb20baf6da6109f3a21e6bb"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae0d288429eb20baf6da6109f3a21e6bb">read_file</a> (const std::string &filename, bool binary)</td></tr>
<tr class="memdesc:ae0d288429eb20baf6da6109f3a21e6bb"><td class="mdescLeft"> </td><td class="mdescRight">Load an entire file in memory. <a href="#ae0d288429eb20baf6da6109f3a21e6bb">More...</a><br /></td></tr>
@@ -3314,9 +3634,13 @@
<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 size)</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:a60e358f879bf4ca86ad938d1f1ef9a64"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a60e358f879bf4ca86ad938d1f1ef9a64">calculate_same_pad</a> (<a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> input_shape, <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> weights_shape, <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> conv_info)</td></tr>
-<tr class="memdesc:a60e358f879bf4ca86ad938d1f1ef9a64"><td class="mdescLeft"> </td><td class="mdescRight">Calculate padding requirements in case of SAME padding. <a href="#a60e358f879bf4ca86ad938d1f1ef9a64">More...</a><br /></td></tr>
-<tr class="separator:a60e358f879bf4ca86ad938d1f1ef9a64"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afcd35973f3a5d2d4d3015e155f185a81"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
+<tr class="memitem:afcd35973f3a5d2d4d3015e155f185a81"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afcd35973f3a5d2d4d3015e155f185a81">permute_strides</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:afcd35973f3a5d2d4d3015e155f185a81"><td class="mdescLeft"> </td><td class="mdescRight">Permutes the given dimensions according the permutation vector. <a href="#afcd35973f3a5d2d4d3015e155f185a81">More...</a><br /></td></tr>
+<tr class="separator:afcd35973f3a5d2d4d3015e155f185a81"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a76d2c1e638da30c99ca2ff48051bcb04"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a76d2c1e638da30c99ca2ff48051bcb04">calculate_same_pad</a> (<a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> input_shape, <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> weights_shape, <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> conv_info, <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> data_layout=<a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">DataLayout::NCHW</a>)</td></tr>
+<tr class="memdesc:a76d2c1e638da30c99ca2ff48051bcb04"><td class="mdescLeft"> </td><td class="mdescRight">Calculate padding requirements in case of SAME padding. <a href="#a76d2c1e638da30c99ca2ff48051bcb04">More...</a><br /></td></tr>
+<tr class="separator:a76d2c1e638da30c99ca2ff48051bcb04"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a49d307dcc8f16084a061e1b6e8140eb7"><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#a49d307dcc8f16084a061e1b6e8140eb7">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 stride_x, unsigned int stride_y)</td></tr>
<tr class="memdesc:a49d307dcc8f16084a061e1b6e8140eb7"><td class="mdescLeft"> </td><td class="mdescRight">Returns expected width and height of the deconvolution's output tensor. <a href="#a49d307dcc8f16084a061e1b6e8140eb7">More...</a><br /></td></tr>
<tr class="separator:a49d307dcc8f16084a061e1b6e8140eb7"><td class="memSeparator" colspan="2"> </td></tr>
@@ -3360,7 +3684,7 @@
<tr class="memdesc:a291164a04581bf953aa65ae87cc201a2"><td class="mdescLeft"> </td><td class="mdescRight">Translates a given GEMMLowp output stage to a string. <a href="#a291164a04581bf953aa65ae87cc201a2">More...</a><br /></td></tr>
<tr class="separator:a291164a04581bf953aa65ae87cc201a2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad6eaf2181f8a8c418acaf3af76239997"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad6eaf2181f8a8c418acaf3af76239997">string_from_pixel_value</a> (const <a class="el" href="classarm__compute_1_1_pixel_value.xhtml">PixelValue</a> &value, const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> data_type)</td></tr>
-<tr class="memdesc:ad6eaf2181f8a8c418acaf3af76239997"><td class="mdescLeft"> </td><td class="mdescRight">Convert a <a class="el" href="classarm__compute_1_1_pixel_value.xhtml" title="Class describing the value of a pixel for any image format. ">PixelValue</a> to a string, represented through the specific data type. <a href="#ad6eaf2181f8a8c418acaf3af76239997">More...</a><br /></td></tr>
+<tr class="memdesc:ad6eaf2181f8a8c418acaf3af76239997"><td class="mdescLeft"> </td><td class="mdescRight">Convert a <a class="el" href="classarm__compute_1_1_pixel_value.xhtml" title="Class describing the value of a pixel for any image format.">PixelValue</a> to a string, represented through the specific data type. <a href="#ad6eaf2181f8a8c418acaf3af76239997">More...</a><br /></td></tr>
<tr class="separator:ad6eaf2181f8a8c418acaf3af76239997"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a0a7bb17a0a0414a7162f635776a02eb5"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0a7bb17a0a0414a7162f635776a02eb5">lower_string</a> (const std::string &val)</td></tr>
<tr class="memdesc:a0a7bb17a0a0414a7162f635776a02eb5"><td class="mdescLeft"> </td><td class="mdescRight">Lower a given string. <a href="#a0a7bb17a0a0414a7162f635776a02eb5">More...</a><br /></td></tr>
@@ -3377,20 +3701,13 @@
<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="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="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="separator:aaecee617b967dd96f27d2f36732fb68e"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ab345de887f15705698d993b97d848bdc"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab345de887f15705698d993b97d848bdc">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:ab345de887f15705698d993b97d848bdc"><td class="mdescLeft"> </td><td class="mdescRight">Print consecutive elements to an output stream. <a href="#ab345de887f15705698d993b97d848bdc">More...</a><br /></td></tr>
-<tr class="separator:ab345de887f15705698d993b97d848bdc"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:adfbf24db2a651269a83f7e49e2b86850"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adfbf24db2a651269a83f7e49e2b86850">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:adfbf24db2a651269a83f7e49e2b86850"><td class="mdescLeft"> </td><td class="mdescRight">Identify the maximum width of n consecutive elements. <a href="#adfbf24db2a651269a83f7e49e2b86850">More...</a><br /></td></tr>
-<tr class="separator:adfbf24db2a651269a83f7e49e2b86850"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a22ef3e50f7dbf08c974a120588e1ad90"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a22ef3e50f7dbf08c974a120588e1ad90">num_of_elements_in_range</a> (const float start, const float end, const float step)</td></tr>
+<tr class="memdesc:a22ef3e50f7dbf08c974a120588e1ad90"><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of elements required to go from start to end with the wanted step. <a href="#a22ef3e50f7dbf08c974a120588e1ad90">More...</a><br /></td></tr>
+<tr class="separator:a22ef3e50f7dbf08c974a120588e1ad90"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad4fb37558f66dd33689292aebf4f843c"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
+<tr class="memitem:ad4fb37558f66dd33689292aebf4f843c"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad4fb37558f66dd33689292aebf4f843c">check_value_range</a> (T val, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt, <a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> quant_info=<a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a>())</td></tr>
+<tr class="memdesc:ad4fb37558f66dd33689292aebf4f843c"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if the value can be represented by the given data type. <a href="#ad4fb37558f66dd33689292aebf4f843c">More...</a><br /></td></tr>
+<tr class="separator:ad4fb37558f66dd33689292aebf4f843c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a069d7a20d1a7d62042f23039b356113b"><td class="memTemplParams" colspan="2">template<typename... Ts> </td></tr>
<tr class="memitem:a069d7a20d1a7d62042f23039b356113b"><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#a069d7a20d1a7d62042f23039b356113b">error_on_nullptr</a> (const char *function, const char *file, const int line, Ts &&... pointers)</td></tr>
<tr class="memdesc:a069d7a20d1a7d62042f23039b356113b"><td class="mdescLeft"> </td><td class="mdescRight">Create an error if one of the pointers is a nullptr. <a href="#a069d7a20d1a7d62042f23039b356113b">More...</a><br /></td></tr>
@@ -3526,7 +3843,7 @@
<tr class="separator:afe3b7128bf77dd12c85eed944fe5b3d4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aaf5f536bf7ec25ff83b912badcf61405"><td class="memTemplParams" colspan="2">template<typename L > </td></tr>
<tr class="memitem:aaf5f536bf7ec25ff83b912badcf61405"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_window_iterator.xhtml">WindowIterator</a>< L > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aaf5f536bf7ec25ff83b912badcf61405">create_window_iterator</a> (const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &w, const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &start, const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &end, L &&lambda_function)</td></tr>
-<tr class="memdesc:aaf5f536bf7ec25ff83b912badcf61405"><td class="mdescLeft"> </td><td class="mdescRight">Create a <a class="el" href="classarm__compute_1_1_window_iterator.xhtml" title="Iterate over a portion of a Window. ">WindowIterator</a> object. <a href="#aaf5f536bf7ec25ff83b912badcf61405">More...</a><br /></td></tr>
+<tr class="memdesc:aaf5f536bf7ec25ff83b912badcf61405"><td class="mdescLeft"> </td><td class="mdescRight">Create a <a class="el" href="classarm__compute_1_1_window_iterator.xhtml" title="Iterate over a portion of a Window.">WindowIterator</a> object. <a href="#aaf5f536bf7ec25ff83b912badcf61405">More...</a><br /></td></tr>
<tr class="separator:aaf5f536bf7ec25ff83b912badcf61405"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a307a55b07dc70dc9177ff26543b1c66f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a307a55b07dc70dc9177ff26543b1c66f">data_type_from_name</a> (const std::string &name)</td></tr>
<tr class="memdesc:a307a55b07dc70dc9177ff26543b1c66f"><td class="mdescLeft"> </td><td class="mdescRight">Converts a string to a strong types enumeration <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>. <a href="#a307a55b07dc70dc9177ff26543b1c66f">More...</a><br /></td></tr>
@@ -3540,6 +3857,9 @@
<tr class="memitem:a9c4a3d0e80938810dd7b22b16785f5c8"><td class="memItemLeft" align="right" valign="top">inline ::std::istream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9c4a3d0e80938810dd7b22b16785f5c8">operator>></a> (::std::istream &stream, <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">arm_compute::DataLayout</a> &data_layout)</td></tr>
<tr class="memdesc:a9c4a3d0e80938810dd7b22b16785f5c8"><td class="mdescLeft"> </td><td class="mdescRight">Input Stream operator for <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>. <a href="#a9c4a3d0e80938810dd7b22b16785f5c8">More...</a><br /></td></tr>
<tr class="separator:a9c4a3d0e80938810dd7b22b16785f5c8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aca9062d049299f125a442eac466402fd"><td class="memItemLeft" align="right" valign="top">std::tuple< cl::Context, cl::Device, cl_int > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aca9062d049299f125a442eac466402fd">create_opencl_context_and_device</a> ()</td></tr>
+<tr class="memdesc:aca9062d049299f125a442eac466402fd"><td class="mdescLeft"> </td><td class="mdescRight">This function creates an OpenCL context and a device. <a href="#aca9062d049299f125a442eac466402fd">More...</a><br /></td></tr>
+<tr class="separator:aca9062d049299f125a442eac466402fd"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a92d01d03db1530581737484c1290ca16"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a92d01d03db1530581737484c1290ca16">get_cpu_configuration</a> (<a class="el" href="classarm__compute_1_1_c_p_u_info.xhtml">CPUInfo</a> &cpuinfo)</td></tr>
<tr class="memdesc:a92d01d03db1530581737484c1290ca16"><td class="mdescLeft"> </td><td class="mdescRight">This function will try to detect the CPU configuration on the system and will fill the cpuinfo object accordingly to reflect this. <a href="#a92d01d03db1530581737484c1290ca16">More...</a><br /></td></tr>
<tr class="separator:a92d01d03db1530581737484c1290ca16"><td class="memSeparator" colspan="2"> </td></tr>
@@ -3547,7 +3867,7 @@
<tr class="memdesc:a9a9fa44b29bc17746a0b486626a76e0a"><td class="mdescLeft"> </td><td class="mdescRight">Some systems have both big and small cores, this fuction computes the minimum number of cores that are exactly the same on the system. <a href="#a9a9fa44b29bc17746a0b486626a76e0a">More...</a><br /></td></tr>
<tr class="separator:a9a9fa44b29bc17746a0b486626a76e0a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a192c7cf59b34ae925eb1c8c315a06225"><td class="memItemLeft" align="right" valign="top">const std::string & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a192c7cf59b34ae925eb1c8c315a06225">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:a192c7cf59b34ae925eb1c8c315a06225"><td class="mdescLeft"> </td><td class="mdescRight">Convert a <a class="el" href="classarm__compute_1_1_scheduler.xhtml#a1d1cfd8ffb84e947f82999c682b666a7" title="Scheduler type. ">Scheduler::Type</a> into a string. <a href="#a192c7cf59b34ae925eb1c8c315a06225">More...</a><br /></td></tr>
+<tr class="memdesc:a192c7cf59b34ae925eb1c8c315a06225"><td class="mdescLeft"> </td><td class="mdescRight">Convert a <a class="el" href="classarm__compute_1_1_scheduler.xhtml#a1d1cfd8ffb84e947f82999c682b666a7" title="Scheduler type.">Scheduler::Type</a> into a string. <a href="#a192c7cf59b34ae925eb1c8c315a06225">More...</a><br /></td></tr>
<tr class="separator:a192c7cf59b34ae925eb1c8c315a06225"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad1e1cc57e3e2ae0ea65d607f6d6312f8"><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad1e1cc57e3e2ae0ea65d607f6d6312f8">FloatFlip</a> (float val)</td></tr>
<tr class="separator:ad1e1cc57e3e2ae0ea65d607f6d6312f8"><td class="memSeparator" colspan="2"> </td></tr>
@@ -3556,6 +3876,9 @@
<tr class="memitem:aff311815b306f7885265c103dc0344b9"><td class="memTemplParams" colspan="2">template<bool is_bounded_relu> </td></tr>
<tr class="memitem:aff311815b306f7885265c103dc0344b9"><td class="memTemplItemLeft" align="right" valign="top">uint8_t </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aff311815b306f7885265c103dc0344b9">finalize_quantization</a> (int32x4_t in_s32, int result_fixedpoint_multiplier, int32_t result_shift, int32x4_t result_offset_after_shift_s32, uint8_t min_u8, uint8_t max_u8)</td></tr>
<tr class="separator:aff311815b306f7885265c103dc0344b9"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a57de30d9ebd8eed0393798583555dd16"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
+<tr class="memitem:a57de30d9ebd8eed0393798583555dd16"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a57de30d9ebd8eed0393798583555dd16">run_reverse</a> (const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &window, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *input, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *axis, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *output)</td></tr>
+<tr class="separator:a57de30d9ebd8eed0393798583555dd16"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a40552ea65ee3fc6d7fa7f1fb17baebe7"><td class="memTemplParams" colspan="2">template<int lane> </td></tr>
<tr class="memitem:a40552ea65ee3fc6d7fa7f1fb17baebe7"><td class="memTemplItemLeft" align="right" valign="top">uint8_t </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a40552ea65ee3fc6d7fa7f1fb17baebe7">vget_lane</a> (<a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>< uint8_t > vec)</td></tr>
<tr class="separator:a40552ea65ee3fc6d7fa7f1fb17baebe7"><td class="memSeparator" colspan="2"> </td></tr>
@@ -3815,6 +4138,10 @@
<tr class="separator:abc9f4323a93d34d19bab7cc371649441"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4cc9ed76f48e918e73249c894380f91b"><td class="memItemLeft" align="right" valign="top">float32x4x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4cc9ed76f48e918e73249c894380f91b">vadd</a> (float32x4x4_t a, float32x4x4_t b)</td></tr>
<tr class="separator:a4cc9ed76f48e918e73249c894380f91b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5196b5248c3c12035174abb6c85ba093"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5196b5248c3c12035174abb6c85ba093">extract_bounding_boxes_from_tensor</a> (const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *bboxes, std::vector< <a class="el" href="namespacearm__compute.xhtml#a4ec997c1b05a1fd406828bc7e1f41dad">NormalizedBBox</a> > &bboxes_vector)</td></tr>
+<tr class="separator:a5196b5248c3c12035174abb6c85ba093"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0ed6c4009303a6e319eb9e0519124b00"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0ed6c4009303a6e319eb9e0519124b00">extract_scores_from_tensor</a> (const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *scores, std::vector< float > &scores_vector)</td></tr>
+<tr class="separator:a0ed6c4009303a6e319eb9e0519124b00"><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>
@@ -3830,7 +4157,7 @@
<tr class="separator:ad023d4ca1d3facf3975c941fd728a6f4"><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>
@@ -3848,7 +4175,7 @@
<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>
@@ -3857,28 +4184,28 @@
<tr class="memdesc:ac7e5dca61375f7583860ab07d951a323"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the ROIPoolingInfo type. <a href="#ac7e5dca61375f7583860ab07d951a323">More...</a><br /></td></tr>
<tr class="separator:ac7e5dca61375f7583860ab07d951a323"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:af81bb4f87d418311c7ca43a28c74bf03"><td class="memItemLeft" align="right" valign="top">inline ::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af81bb4f87d418311c7ca43a28c74bf03">operator<<</a> (::std::ostream &os, const <a class="el" href="classarm__compute_1_1_bounding_box_transform_info.xhtml">BoundingBoxTransformInfo</a> &bbox_info)</td></tr>
-<tr class="memdesc:af81bb4f87d418311c7ca43a28c74bf03"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_bounding_box_transform_info.xhtml" title="Bounding Box Transform information class. ">BoundingBoxTransformInfo</a> type. <a href="#af81bb4f87d418311c7ca43a28c74bf03">More...</a><br /></td></tr>
+<tr class="memdesc:af81bb4f87d418311c7ca43a28c74bf03"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_bounding_box_transform_info.xhtml" title="Bounding Box Transform information class.">BoundingBoxTransformInfo</a> type. <a href="#af81bb4f87d418311c7ca43a28c74bf03">More...</a><br /></td></tr>
<tr class="separator:af81bb4f87d418311c7ca43a28c74bf03"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aadd27b86f0ff4fbb03ed673a549e91a8"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aadd27b86f0ff4fbb03ed673a549e91a8">to_string</a> (const <a class="el" href="classarm__compute_1_1_bounding_box_transform_info.xhtml">BoundingBoxTransformInfo</a> &bbox_info)</td></tr>
-<tr class="memdesc:aadd27b86f0ff4fbb03ed673a549e91a8"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_bounding_box_transform_info.xhtml" title="Bounding Box Transform information class. ">BoundingBoxTransformInfo</a> type. <a href="#aadd27b86f0ff4fbb03ed673a549e91a8">More...</a><br /></td></tr>
+<tr class="memdesc:aadd27b86f0ff4fbb03ed673a549e91a8"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_bounding_box_transform_info.xhtml" title="Bounding Box Transform information class.">BoundingBoxTransformInfo</a> type. <a href="#aadd27b86f0ff4fbb03ed673a549e91a8">More...</a><br /></td></tr>
<tr class="separator:aadd27b86f0ff4fbb03ed673a549e91a8"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a59ea8b6694897a281eb3105f5c99f28f"><td class="memItemLeft" align="right" valign="top">inline ::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a59ea8b6694897a281eb3105f5c99f28f">operator<<</a> (::std::ostream &os, const <a class="el" href="classarm__compute_1_1_compute_anchors_info.xhtml">ComputeAnchorsInfo</a> &anchors_info)</td></tr>
-<tr class="memdesc:a59ea8b6694897a281eb3105f5c99f28f"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_compute_anchors_info.xhtml" title="ComputeAnchors information class. ">ComputeAnchorsInfo</a> type. <a href="#a59ea8b6694897a281eb3105f5c99f28f">More...</a><br /></td></tr>
+<tr class="memdesc:a59ea8b6694897a281eb3105f5c99f28f"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_compute_anchors_info.xhtml" title="ComputeAnchors information class.">ComputeAnchorsInfo</a> type. <a href="#a59ea8b6694897a281eb3105f5c99f28f">More...</a><br /></td></tr>
<tr class="separator:a59ea8b6694897a281eb3105f5c99f28f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a24bc4de5c636b56f9b59533fead920c2"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a24bc4de5c636b56f9b59533fead920c2">to_string</a> (const <a class="el" href="classarm__compute_1_1_compute_anchors_info.xhtml">ComputeAnchorsInfo</a> &anchors_info)</td></tr>
-<tr class="memdesc:a24bc4de5c636b56f9b59533fead920c2"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_compute_anchors_info.xhtml" title="ComputeAnchors information class. ">ComputeAnchorsInfo</a> type. <a href="#a24bc4de5c636b56f9b59533fead920c2">More...</a><br /></td></tr>
+<tr class="memdesc:a24bc4de5c636b56f9b59533fead920c2"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_compute_anchors_info.xhtml" title="ComputeAnchors information class.">ComputeAnchorsInfo</a> type. <a href="#a24bc4de5c636b56f9b59533fead920c2">More...</a><br /></td></tr>
<tr class="separator:a24bc4de5c636b56f9b59533fead920c2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1a54a883f8acc0664accdae9bed93494"><td class="memItemLeft" align="right" valign="top">inline ::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1a54a883f8acc0664accdae9bed93494">operator<<</a> (::std::ostream &os, const <a class="el" href="classarm__compute_1_1_generate_proposals_info.xhtml">GenerateProposalsInfo</a> &proposals_info)</td></tr>
-<tr class="memdesc:a1a54a883f8acc0664accdae9bed93494"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_generate_proposals_info.xhtml" title="Generate Proposals Information class. ">GenerateProposalsInfo</a> type. <a href="#a1a54a883f8acc0664accdae9bed93494">More...</a><br /></td></tr>
+<tr class="memdesc:a1a54a883f8acc0664accdae9bed93494"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_generate_proposals_info.xhtml" title="Generate Proposals Information class.">GenerateProposalsInfo</a> type. <a href="#a1a54a883f8acc0664accdae9bed93494">More...</a><br /></td></tr>
<tr class="separator:a1a54a883f8acc0664accdae9bed93494"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa597016c0aaa2990ed31b8aaa6f2ccc3"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa597016c0aaa2990ed31b8aaa6f2ccc3">to_string</a> (const <a class="el" href="classarm__compute_1_1_generate_proposals_info.xhtml">GenerateProposalsInfo</a> &proposals_info)</td></tr>
-<tr class="memdesc:aa597016c0aaa2990ed31b8aaa6f2ccc3"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_generate_proposals_info.xhtml" title="Generate Proposals Information class. ">GenerateProposalsInfo</a> type. <a href="#aa597016c0aaa2990ed31b8aaa6f2ccc3">More...</a><br /></td></tr>
+<tr class="memdesc:aa597016c0aaa2990ed31b8aaa6f2ccc3"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_generate_proposals_info.xhtml" title="Generate Proposals Information class.">GenerateProposalsInfo</a> type. <a href="#aa597016c0aaa2990ed31b8aaa6f2ccc3">More...</a><br /></td></tr>
<tr class="separator:aa597016c0aaa2990ed31b8aaa6f2ccc3"><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="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="memdesc:ad9fd48b3c01116b217a684aaeaf8b24f"><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="#ad9fd48b3c01116b217a684aaeaf8b24f">More...</a><br /></td></tr>
+<tr class="memdesc:ad9fd48b3c01116b217a684aaeaf8b24f"><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="#ad9fd48b3c01116b217a684aaeaf8b24f">More...</a><br /></td></tr>
<tr class="separator:ad9fd48b3c01116b217a684aaeaf8b24f"><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>
@@ -3938,11 +4265,14 @@
<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:af15a06b73e1fde15f0809ce07bf1ab7d"><td class="memItemLeft" align="right" valign="top">inline ::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af15a06b73e1fde15f0809ce07bf1ab7d">operator<<</a> (::std::ostream &os, const <a class="el" href="namespacearm__compute.xhtml#ac1a1b012674e0f1de071a611391828ad">PaddingList</a> &padding)</td></tr>
<tr class="memdesc:af15a06b73e1fde15f0809ce07bf1ab7d"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the PaddingList type. <a href="#af15a06b73e1fde15f0809ce07bf1ab7d">More...</a><br /></td></tr>
<tr class="separator:af15a06b73e1fde15f0809ce07bf1ab7d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9caac285297030f50a972095e767aff9"><td class="memItemLeft" align="right" valign="top">inline ::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9caac285297030f50a972095e767aff9">operator<<</a> (::std::ostream &os, const <a class="el" href="namespacearm__compute.xhtml#afe9e10e5fdfd1e2665ac17c75c0cacd8">Multiples</a> &multiples)</td></tr>
+<tr class="memdesc:a9caac285297030f50a972095e767aff9"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the Multiples type. <a href="#a9caac285297030f50a972095e767aff9">More...</a><br /></td></tr>
+<tr class="separator:a9caac285297030f50a972095e767aff9"><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="separator:a509047aefc691398f1bb60b1f967a98b"><td class="memSeparator" colspan="2"> </td></tr>
@@ -3950,69 +4280,72 @@
<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:ab398837465010958bfccff032ad1ee51"><td class="memItemLeft" align="right" valign="top">inline ::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab398837465010958bfccff032ad1ee51">operator<<</a> (::std::ostream &os, const <a class="el" href="classarm__compute_1_1_tensor_info.xhtml">TensorInfo</a> &info)</td></tr>
-<tr class="memdesc:ab398837465010958bfccff032ad1ee51"><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="#ab398837465010958bfccff032ad1ee51">More...</a><br /></td></tr>
+<tr class="memdesc:ab398837465010958bfccff032ad1ee51"><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="#ab398837465010958bfccff032ad1ee51">More...</a><br /></td></tr>
<tr class="separator:ab398837465010958bfccff032ad1ee51"><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="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="memdesc:aa32488ee1dd78e0464ed23e8cc2b6e49"><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="#aa32488ee1dd78e0464ed23e8cc2b6e49">More...</a><br /></td></tr>
+<tr class="memdesc:aa32488ee1dd78e0464ed23e8cc2b6e49"><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="#aa32488ee1dd78e0464ed23e8cc2b6e49">More...</a><br /></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="memdesc:a1c4486f45128be7156e38e6dea345a16"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_strides.xhtml" title="Strides of an item in bytes. ">Strides</a> type. <a href="#a1c4486f45128be7156e38e6dea345a16">More...</a><br /></td></tr>
+<tr class="memdesc:a1c4486f45128be7156e38e6dea345a16"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_strides.xhtml" title="Strides of an item in bytes.">Strides</a> type. <a href="#a1c4486f45128be7156e38e6dea345a16">More...</a><br /></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:a0fc75dce8064a37effa5e71344b6a5d2"><td class="memItemLeft" align="right" valign="top">inline ::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0fc75dce8064a37effa5e71344b6a5d2">operator<<</a> (::std::ostream &os, const <a class="el" href="classarm__compute_1_1_g_e_m_m_reshape_info.xhtml">GEMMReshapeInfo</a> &info)</td></tr>
-<tr class="memdesc:a0fc75dce8064a37effa5e71344b6a5d2"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_g_e_m_m_reshape_info.xhtml" title="GEMM reshape information class. ">GEMMReshapeInfo</a> type. <a href="#a0fc75dce8064a37effa5e71344b6a5d2">More...</a><br /></td></tr>
+<tr class="memdesc:a0fc75dce8064a37effa5e71344b6a5d2"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_g_e_m_m_reshape_info.xhtml" title="GEMM reshape information class.">GEMMReshapeInfo</a> type. <a href="#a0fc75dce8064a37effa5e71344b6a5d2">More...</a><br /></td></tr>
<tr class="separator:a0fc75dce8064a37effa5e71344b6a5d2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5fdae5de2d2cf2e7957f0299d17ce5ec"><td class="memItemLeft" align="right" valign="top">inline ::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5fdae5de2d2cf2e7957f0299d17ce5ec">operator<<</a> (::std::ostream &os, const <a class="el" href="classarm__compute_1_1_g_e_m_m_info.xhtml">GEMMInfo</a> &info)</td></tr>
-<tr class="memdesc:a5fdae5de2d2cf2e7957f0299d17ce5ec"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_g_e_m_m_info.xhtml" title="GEMM information class. ">GEMMInfo</a> type. <a href="#a5fdae5de2d2cf2e7957f0299d17ce5ec">More...</a><br /></td></tr>
+<tr class="memdesc:a5fdae5de2d2cf2e7957f0299d17ce5ec"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_g_e_m_m_info.xhtml" title="GEMM information class.">GEMMInfo</a> type. <a href="#a5fdae5de2d2cf2e7957f0299d17ce5ec">More...</a><br /></td></tr>
<tr class="separator:a5fdae5de2d2cf2e7957f0299d17ce5ec"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a6ed8dc0f587448d14a1a33cbd5fc4f70"><td class="memItemLeft" align="right" valign="top">inline ::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6ed8dc0f587448d14a1a33cbd5fc4f70">operator<<</a> (::std::ostream &os, const <a class="el" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a> &dim)</td></tr>
-<tr class="memdesc:a6ed8dc0f587448d14a1a33cbd5fc4f70"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_window_1_1_dimension.xhtml" title="Describe one of the image's dimensions with a start, end and step. ">Window::Dimension</a> type. <a href="#a6ed8dc0f587448d14a1a33cbd5fc4f70">More...</a><br /></td></tr>
+<tr class="memdesc:a6ed8dc0f587448d14a1a33cbd5fc4f70"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_window_1_1_dimension.xhtml" title="Describe one of the image's dimensions with a start, end and step.">Window::Dimension</a> type. <a href="#a6ed8dc0f587448d14a1a33cbd5fc4f70">More...</a><br /></td></tr>
<tr class="separator:a6ed8dc0f587448d14a1a33cbd5fc4f70"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:afc6e49991e36423027a467eab1e405b2"><td class="memItemLeft" align="right" valign="top">inline ::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afc6e49991e36423027a467eab1e405b2">operator<<</a> (::std::ostream &os, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &win)</td></tr>
-<tr class="memdesc:afc6e49991e36423027a467eab1e405b2"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a> type. <a href="#afc6e49991e36423027a467eab1e405b2">More...</a><br /></td></tr>
+<tr class="memdesc:afc6e49991e36423027a467eab1e405b2"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window.">Window</a> type. <a href="#afc6e49991e36423027a467eab1e405b2">More...</a><br /></td></tr>
<tr class="separator:afc6e49991e36423027a467eab1e405b2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a26a595cd5522bae4fa1c4f2fb9b8f4d5"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a26a595cd5522bae4fa1c4f2fb9b8f4d5">to_string</a> (const <a class="el" href="classarm__compute_1_1_weights_info.xhtml">WeightsInfo</a> &info)</td></tr>
-<tr class="memdesc:a26a595cd5522bae4fa1c4f2fb9b8f4d5"><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="#a26a595cd5522bae4fa1c4f2fb9b8f4d5">More...</a><br /></td></tr>
+<tr class="memdesc:a26a595cd5522bae4fa1c4f2fb9b8f4d5"><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="#a26a595cd5522bae4fa1c4f2fb9b8f4d5">More...</a><br /></td></tr>
<tr class="separator:a26a595cd5522bae4fa1c4f2fb9b8f4d5"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:adac3c1908846c6361e664a353ad1c3cf"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adac3c1908846c6361e664a353ad1c3cf">to_string</a> (const <a class="el" href="classarm__compute_1_1_g_e_m_m_reshape_info.xhtml">GEMMReshapeInfo</a> &info)</td></tr>
-<tr class="memdesc:adac3c1908846c6361e664a353ad1c3cf"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_g_e_m_m_reshape_info.xhtml" title="GEMM reshape information class. ">GEMMReshapeInfo</a> type. <a href="#adac3c1908846c6361e664a353ad1c3cf">More...</a><br /></td></tr>
+<tr class="memdesc:adac3c1908846c6361e664a353ad1c3cf"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_g_e_m_m_reshape_info.xhtml" title="GEMM reshape information class.">GEMMReshapeInfo</a> type. <a href="#adac3c1908846c6361e664a353ad1c3cf">More...</a><br /></td></tr>
<tr class="separator:adac3c1908846c6361e664a353ad1c3cf"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a8ac2dfdfad6db71a5cf2ecee6b70f722"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8ac2dfdfad6db71a5cf2ecee6b70f722">to_string</a> (const <a class="el" href="classarm__compute_1_1_g_e_m_m_info.xhtml">GEMMInfo</a> &info)</td></tr>
-<tr class="memdesc:a8ac2dfdfad6db71a5cf2ecee6b70f722"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_g_e_m_m_info.xhtml" title="GEMM information class. ">GEMMInfo</a> type. <a href="#a8ac2dfdfad6db71a5cf2ecee6b70f722">More...</a><br /></td></tr>
+<tr class="memdesc:a8ac2dfdfad6db71a5cf2ecee6b70f722"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_g_e_m_m_info.xhtml" title="GEMM information class.">GEMMInfo</a> type. <a href="#a8ac2dfdfad6db71a5cf2ecee6b70f722">More...</a><br /></td></tr>
<tr class="separator:a8ac2dfdfad6db71a5cf2ecee6b70f722"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab6ea50ec0a98c2180e6530cfcb5eb366"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab6ea50ec0a98c2180e6530cfcb5eb366">to_string</a> (const <a class="el" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a> &dim)</td></tr>
-<tr class="memdesc:ab6ea50ec0a98c2180e6530cfcb5eb366"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_window_1_1_dimension.xhtml" title="Describe one of the image's dimensions with a start, end and step. ">Window::Dimension</a> type. <a href="#ab6ea50ec0a98c2180e6530cfcb5eb366">More...</a><br /></td></tr>
+<tr class="memdesc:ab6ea50ec0a98c2180e6530cfcb5eb366"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_window_1_1_dimension.xhtml" title="Describe one of the image's dimensions with a start, end and step.">Window::Dimension</a> type. <a href="#ab6ea50ec0a98c2180e6530cfcb5eb366">More...</a><br /></td></tr>
<tr class="separator:ab6ea50ec0a98c2180e6530cfcb5eb366"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a99aba2774f142d36c6a286cbfe027772"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a99aba2774f142d36c6a286cbfe027772">to_string</a> (const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &win)</td></tr>
-<tr class="memdesc:a99aba2774f142d36c6a286cbfe027772"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a> type. <a href="#a99aba2774f142d36c6a286cbfe027772">More...</a><br /></td></tr>
+<tr class="memdesc:a99aba2774f142d36c6a286cbfe027772"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window.">Window</a> type. <a href="#a99aba2774f142d36c6a286cbfe027772">More...</a><br /></td></tr>
<tr class="separator:a99aba2774f142d36c6a286cbfe027772"><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 <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml" title="Padding and stride information class. ">PadStrideInfo</a> type. <a href="#a8af36ae3a3613112c3a95e57f606359a">More...</a><br /></td></tr>
+<tr class="memdesc:a8af36ae3a3613112c3a95e57f606359a"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml" title="Padding and stride information class.">PadStrideInfo</a> 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="memdesc:a2c0e6c1c4cf10da25e7a7362ba151ba2"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml" title="Padding and stride information class. ">PadStrideInfo</a> type. <a href="#a2c0e6c1c4cf10da25e7a7362ba151ba2">More...</a><br /></td></tr>
+<tr class="memdesc:a2c0e6c1c4cf10da25e7a7362ba151ba2"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml" title="Padding and stride information class.">PadStrideInfo</a> type. <a href="#a2c0e6c1c4cf10da25e7a7362ba151ba2">More...</a><br /></td></tr>
<tr class="separator:a2c0e6c1c4cf10da25e7a7362ba151ba2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a0604106dd269acd58152a81ba87cc265"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0604106dd269acd58152a81ba87cc265">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a> &mode)</td></tr>
<tr class="memdesc:a0604106dd269acd58152a81ba87cc265"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the BorderMode type. <a href="#a0604106dd269acd58152a81ba87cc265">More...</a><br /></td></tr>
<tr class="separator:a0604106dd269acd58152a81ba87cc265"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5c9cde9144eaeceaf086377b9bc5a5be"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5c9cde9144eaeceaf086377b9bc5a5be">to_string</a> (const <a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a> &border)</td></tr>
-<tr class="memdesc:a5c9cde9144eaeceaf086377b9bc5a5be"><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="#a5c9cde9144eaeceaf086377b9bc5a5be">More...</a><br /></td></tr>
+<tr class="memdesc:a5c9cde9144eaeceaf086377b9bc5a5be"><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="#a5c9cde9144eaeceaf086377b9bc5a5be">More...</a><br /></td></tr>
<tr class="separator:a5c9cde9144eaeceaf086377b9bc5a5be"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a09b674dcee4a1b59f9c7c51ecaae40a6"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a09b674dcee4a1b59f9c7c51ecaae40a6">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#ac1a1b012674e0f1de071a611391828ad">PaddingList</a> &padding)</td></tr>
<tr class="memdesc:a09b674dcee4a1b59f9c7c51ecaae40a6"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the PaddingList type. <a href="#a09b674dcee4a1b59f9c7c51ecaae40a6">More...</a><br /></td></tr>
<tr class="separator:a09b674dcee4a1b59f9c7c51ecaae40a6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad710fdad147ab4ab21e14a7c49b3516a"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad710fdad147ab4ab21e14a7c49b3516a">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#afe9e10e5fdfd1e2665ac17c75c0cacd8">Multiples</a> &multiples)</td></tr>
+<tr class="memdesc:ad710fdad147ab4ab21e14a7c49b3516a"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the Multiples type. <a href="#ad710fdad147ab4ab21e14a7c49b3516a">More...</a><br /></td></tr>
+<tr class="separator:ad710fdad147ab4ab21e14a7c49b3516a"><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="memdesc:a94bd78942b683c05cba85048537d3ee7"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the InterpolationPolicy type. <a href="#a94bd78942b683c05cba85048537d3ee7">More...</a><br /></td></tr>
<tr class="separator:a94bd78942b683c05cba85048537d3ee7"><td class="memSeparator" colspan="2"> </td></tr>
@@ -4024,12 +4357,30 @@
<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:a7b94aeca99a5d6b1a5723014a01faac0"><td class="memItemLeft" align="right" valign="top">inline ::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7b94aeca99a5d6b1a5723014a01faac0">operator<<</a> (::std::ostream &os, const <a class="el" href="namespacearm__compute.xhtml#a23d9f0c01c9e120dfb828ee922b7a8ae">ArithmeticOperation</a> &op)</td></tr>
+<tr class="memdesc:a7b94aeca99a5d6b1a5723014a01faac0"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the ArithmeticOperation type. <a href="#a7b94aeca99a5d6b1a5723014a01faac0">More...</a><br /></td></tr>
+<tr class="separator:a7b94aeca99a5d6b1a5723014a01faac0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aca516517d47534e06d4c57e7bc706b2a"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aca516517d47534e06d4c57e7bc706b2a">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#a23d9f0c01c9e120dfb828ee922b7a8ae">ArithmeticOperation</a> &op)</td></tr>
+<tr class="memdesc:aca516517d47534e06d4c57e7bc706b2a"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the Arithmetic Operation. <a href="#aca516517d47534e06d4c57e7bc706b2a">More...</a><br /></td></tr>
+<tr class="separator:aca516517d47534e06d4c57e7bc706b2a"><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="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="memdesc:aae534105c7ea67999ccbb34a0ed567cd"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the Reduction Operations. <a href="#aae534105c7ea67999ccbb34a0ed567cd">More...</a><br /></td></tr>
<tr class="separator:aae534105c7ea67999ccbb34a0ed567cd"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aac34f5e54ad35f26328f8706b3d28b43"><td class="memItemLeft" align="right" valign="top">inline ::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aac34f5e54ad35f26328f8706b3d28b43">operator<<</a> (::std::ostream &os, const <a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58c">ComparisonOperation</a> &op)</td></tr>
+<tr class="memdesc:aac34f5e54ad35f26328f8706b3d28b43"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the Comparison Operations. <a href="#aac34f5e54ad35f26328f8706b3d28b43">More...</a><br /></td></tr>
+<tr class="separator:aac34f5e54ad35f26328f8706b3d28b43"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:accfc6f2e5fb354e1fb19a7067b6efdec"><td class="memItemLeft" align="right" valign="top">inline ::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#accfc6f2e5fb354e1fb19a7067b6efdec">operator<<</a> (::std::ostream &os, const <a class="el" href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936d">ElementWiseUnary</a> &op)</td></tr>
+<tr class="memdesc:accfc6f2e5fb354e1fb19a7067b6efdec"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the Elementwise unary Operations. <a href="#accfc6f2e5fb354e1fb19a7067b6efdec">More...</a><br /></td></tr>
+<tr class="separator:accfc6f2e5fb354e1fb19a7067b6efdec"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a77007283b591963074b8398202e90f5a"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a77007283b591963074b8398202e90f5a">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58c">ComparisonOperation</a> &op)</td></tr>
+<tr class="memdesc:a77007283b591963074b8398202e90f5a"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the Comparison Operations. <a href="#a77007283b591963074b8398202e90f5a">More...</a><br /></td></tr>
+<tr class="separator:a77007283b591963074b8398202e90f5a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab76157462925ad1b13149317ded2e404"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab76157462925ad1b13149317ded2e404">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936d">ElementWiseUnary</a> &op)</td></tr>
+<tr class="memdesc:ab76157462925ad1b13149317ded2e404"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the Elementwise unary Operations. <a href="#ab76157462925ad1b13149317ded2e404">More...</a><br /></td></tr>
+<tr class="separator:ab76157462925ad1b13149317ded2e404"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad8b676c38d9b8d9d9bde7caec5720bd9"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad8b676c38d9b8d9d9bde7caec5720bd9">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">NormType</a> &type)</td></tr>
<tr class="memdesc:ad8b676c38d9b8d9d9bde7caec5720bd9"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the Norm Type. <a href="#ad8b676c38d9b8d9d9bde7caec5720bd9">More...</a><br /></td></tr>
<tr class="separator:ad8b676c38d9b8d9d9bde7caec5720bd9"><td class="memSeparator" colspan="2"> </td></tr>
@@ -4040,10 +4391,10 @@
<tr class="memdesc:acef515348c5f7f73c89aa4b8a47a02bc"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the Pooling Layer Info. <a href="#acef515348c5f7f73c89aa4b8a47a02bc">More...</a><br /></td></tr>
<tr class="separator:acef515348c5f7f73c89aa4b8a47a02bc"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ae62747a5179626328bf7e67c709d5fcf"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae62747a5179626328bf7e67c709d5fcf">to_string</a> (const <a class="el" href="classarm__compute_1_1_prior_box_layer_info.xhtml">PriorBoxLayerInfo</a> &info)</td></tr>
-<tr class="memdesc:ae62747a5179626328bf7e67c709d5fcf"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_prior_box_layer_info.xhtml" title="PriorBox layer info. ">PriorBoxLayerInfo</a>. <a href="#ae62747a5179626328bf7e67c709d5fcf">More...</a><br /></td></tr>
+<tr class="memdesc:ae62747a5179626328bf7e67c709d5fcf"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_prior_box_layer_info.xhtml" title="PriorBox layer info.">PriorBoxLayerInfo</a>. <a href="#ae62747a5179626328bf7e67c709d5fcf">More...</a><br /></td></tr>
<tr class="separator:ae62747a5179626328bf7e67c709d5fcf"><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>
@@ -4064,16 +4415,16 @@
<tr class="memdesc:a950ba288e8136db4bf52f7c51dea20eb"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the HOGNormType type. <a href="#a950ba288e8136db4bf52f7c51dea20eb">More...</a><br /></td></tr>
<tr class="separator:a950ba288e8136db4bf52f7c51dea20eb"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab91d110e020f6ed987e05e82df3e350b"><td class="memItemLeft" align="right" valign="top">inline ::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab91d110e020f6ed987e05e82df3e350b">operator<<</a> (::std::ostream &os, const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &size)</td></tr>
-<tr class="memdesc:ab91d110e020f6ed987e05e82df3e350b"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_size2_d.xhtml" title="Class for specifying the size of an image or rectangle. ">Size2D</a> type. <a href="#ab91d110e020f6ed987e05e82df3e350b">More...</a><br /></td></tr>
+<tr class="memdesc:ab91d110e020f6ed987e05e82df3e350b"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_size2_d.xhtml" title="Class for specifying the size of an image or rectangle.">Size2D</a> type. <a href="#ab91d110e020f6ed987e05e82df3e350b">More...</a><br /></td></tr>
<tr class="separator:ab91d110e020f6ed987e05e82df3e350b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aee88a2c259879eb9dc18cb5965e87c29"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aee88a2c259879eb9dc18cb5965e87c29">to_string</a> (const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &type)</td></tr>
-<tr class="memdesc:aee88a2c259879eb9dc18cb5965e87c29"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_size2_d.xhtml" title="Class for specifying the size of an image or rectangle. ">Size2D</a> type. <a href="#aee88a2c259879eb9dc18cb5965e87c29">More...</a><br /></td></tr>
+<tr class="memdesc:aee88a2c259879eb9dc18cb5965e87c29"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_size2_d.xhtml" title="Class for specifying the size of an image or rectangle.">Size2D</a> type. <a href="#aee88a2c259879eb9dc18cb5965e87c29">More...</a><br /></td></tr>
<tr class="separator:aee88a2c259879eb9dc18cb5965e87c29"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4228b490e13b79a60737929d9d9e5957"><td class="memItemLeft" align="right" valign="top">inline ::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4228b490e13b79a60737929d9d9e5957">operator<<</a> (::std::ostream &os, const <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml">HOGInfo</a> &hog_info)</td></tr>
-<tr class="memdesc:a4228b490e13b79a60737929d9d9e5957"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml" title="Store the HOG's metadata. ">HOGInfo</a> type. <a href="#a4228b490e13b79a60737929d9d9e5957">More...</a><br /></td></tr>
+<tr class="memdesc:a4228b490e13b79a60737929d9d9e5957"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml" title="Store the HOG's metadata.">HOGInfo</a> type. <a href="#a4228b490e13b79a60737929d9d9e5957">More...</a><br /></td></tr>
<tr class="separator:a4228b490e13b79a60737929d9d9e5957"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a3cf43a216912b361eaffc3c71452a31e"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3cf43a216912b361eaffc3c71452a31e">to_string</a> (const <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml">HOGInfo</a> &type)</td></tr>
-<tr class="memdesc:a3cf43a216912b361eaffc3c71452a31e"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml" title="Store the HOG's metadata. ">HOGInfo</a> type. <a href="#a3cf43a216912b361eaffc3c71452a31e">More...</a><br /></td></tr>
+<tr class="memdesc:a3cf43a216912b361eaffc3c71452a31e"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml" title="Store the HOG's metadata.">HOGInfo</a> type. <a href="#a3cf43a216912b361eaffc3c71452a31e">More...</a><br /></td></tr>
<tr class="separator:a3cf43a216912b361eaffc3c71452a31e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:abd35c1c3fb716078b1f4a25981defac4"><td class="memItemLeft" align="right" valign="top">inline ::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abd35c1c3fb716078b1f4a25981defac4">operator<<</a> (::std::ostream &os, const <a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517d">ConvolutionMethod</a> &conv_method)</td></tr>
<tr class="memdesc:abd35c1c3fb716078b1f4a25981defac4"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the ConvolutionMethod type. <a href="#abd35c1c3fb716078b1f4a25981defac4">More...</a><br /></td></tr>
@@ -4088,10 +4439,22 @@
<tr class="memdesc:aee29ccfc095313663fc954f581ddf40a"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the GPUTarget type. <a href="#aee29ccfc095313663fc954f581ddf40a">More...</a><br /></td></tr>
<tr class="separator:aee29ccfc095313663fc954f581ddf40a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a907c93ba5daaabf6af7095f20340d024"><td class="memItemLeft" align="right" valign="top">inline ::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a907c93ba5daaabf6af7095f20340d024">operator<<</a> (::std::ostream &os, const <a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a> &detection_window)</td></tr>
-<tr class="memdesc:a907c93ba5daaabf6af7095f20340d024"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="structarm__compute_1_1_detection_window.xhtml" title="Detection window used for the object detection. ">DetectionWindow</a> type. <a href="#a907c93ba5daaabf6af7095f20340d024">More...</a><br /></td></tr>
+<tr class="memdesc:a907c93ba5daaabf6af7095f20340d024"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="structarm__compute_1_1_detection_window.xhtml" title="Detection window used for the object detection.">DetectionWindow</a> type. <a href="#a907c93ba5daaabf6af7095f20340d024">More...</a><br /></td></tr>
<tr class="separator:a907c93ba5daaabf6af7095f20340d024"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a28634df052522fe60e15a0128ba924cc"><td class="memItemLeft" align="right" valign="top">inline ::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a28634df052522fe60e15a0128ba924cc">operator<<</a> (::std::ostream &os, const <a class="el" href="namespacearm__compute.xhtml#ad818ba0ecd4a87d8f1bb0d5b17f07830">DetectionOutputLayerCodeType</a> &detection_code)</td></tr>
+<tr class="memdesc:a28634df052522fe60e15a0128ba924cc"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the DetectionOutputLayerCodeType type. <a href="#a28634df052522fe60e15a0128ba924cc">More...</a><br /></td></tr>
+<tr class="separator:a28634df052522fe60e15a0128ba924cc"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a41c7dc2aa88c4e30effb2e3f550de481"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a41c7dc2aa88c4e30effb2e3f550de481">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#ad818ba0ecd4a87d8f1bb0d5b17f07830">DetectionOutputLayerCodeType</a> &detection_code)</td></tr>
+<tr class="memdesc:a41c7dc2aa88c4e30effb2e3f550de481"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the DetectionOutputLayerCodeType type. <a href="#a41c7dc2aa88c4e30effb2e3f550de481">More...</a><br /></td></tr>
+<tr class="separator:a41c7dc2aa88c4e30effb2e3f550de481"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a22b40e983993e76ab39ce878fb111b9b"><td class="memItemLeft" align="right" valign="top">inline ::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a22b40e983993e76ab39ce878fb111b9b">operator<<</a> (::std::ostream &os, const <a class="el" href="classarm__compute_1_1_detection_output_layer_info.xhtml">DetectionOutputLayerInfo</a> &detection_info)</td></tr>
+<tr class="memdesc:a22b40e983993e76ab39ce878fb111b9b"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_detection_output_layer_info.xhtml" title="Detection Output layer info.">DetectionOutputLayerInfo</a> type. <a href="#a22b40e983993e76ab39ce878fb111b9b">More...</a><br /></td></tr>
+<tr class="separator:a22b40e983993e76ab39ce878fb111b9b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a4084858fda1caec39457dd70322e6bd6"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4084858fda1caec39457dd70322e6bd6">to_string</a> (const <a class="el" href="classarm__compute_1_1_detection_output_layer_info.xhtml">DetectionOutputLayerInfo</a> &detection_info)</td></tr>
+<tr class="memdesc:a4084858fda1caec39457dd70322e6bd6"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_detection_output_layer_info.xhtml" title="Detection Output layer info.">DetectionOutputLayerInfo</a> type. <a href="#a4084858fda1caec39457dd70322e6bd6">More...</a><br /></td></tr>
+<tr class="separator:a4084858fda1caec39457dd70322e6bd6"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a905d7ec8787e8c4b7e88b0a2faaccd1f"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a905d7ec8787e8c4b7e88b0a2faaccd1f">to_string</a> (const <a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a> &detection_window)</td></tr>
-<tr class="memdesc:a905d7ec8787e8c4b7e88b0a2faaccd1f"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="structarm__compute_1_1_detection_window.xhtml" title="Detection window used for the object detection. ">DetectionWindow</a> type. <a href="#a905d7ec8787e8c4b7e88b0a2faaccd1f">More...</a><br /></td></tr>
+<tr class="memdesc:a905d7ec8787e8c4b7e88b0a2faaccd1f"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="structarm__compute_1_1_detection_window.xhtml" title="Detection window used for the object detection.">DetectionWindow</a> type. <a href="#a905d7ec8787e8c4b7e88b0a2faaccd1f">More...</a><br /></td></tr>
<tr class="separator:a905d7ec8787e8c4b7e88b0a2faaccd1f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a8cfa7d498e60be008d557d025fe62ff3"><td class="memItemLeft" align="right" valign="top">inline ::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8cfa7d498e60be008d557d025fe62ff3">operator<<</a> (::std::ostream &os, const <a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453">Termination</a> &termination)</td></tr>
<tr class="memdesc:a8cfa7d498e60be008d557d025fe62ff3"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the Termination type. <a href="#a8cfa7d498e60be008d557d025fe62ff3">More...</a><br /></td></tr>
@@ -4117,7 +4480,7 @@
<tr class="memdesc:a6411da4e87e64e8859f8b725645ee9aa"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of a vector of objects. <a href="#a6411da4e87e64e8859f8b725645ee9aa">More...</a><br /></td></tr>
<tr class="separator:a6411da4e87e64e8859f8b725645ee9aa"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:af3cba8a4493cee4c431d128eed565ffe"><td class="memItemLeft" align="right" valign="top">inline ::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af3cba8a4493cee4c431d128eed565ffe">operator<<</a> (::std::ostream &os, const <a class="el" href="structarm__compute_1_1_winograd_info.xhtml">WinogradInfo</a> &info)</td></tr>
-<tr class="memdesc:af3cba8a4493cee4c431d128eed565ffe"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="structarm__compute_1_1_winograd_info.xhtml" title="Winograd information. ">WinogradInfo</a> type. <a href="#af3cba8a4493cee4c431d128eed565ffe">More...</a><br /></td></tr>
+<tr class="memdesc:af3cba8a4493cee4c431d128eed565ffe"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="structarm__compute_1_1_winograd_info.xhtml" title="Winograd information.">WinogradInfo</a> type. <a href="#af3cba8a4493cee4c431d128eed565ffe">More...</a><br /></td></tr>
<tr class="separator:af3cba8a4493cee4c431d128eed565ffe"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a37cc282b0852aab04b13a6e6566adda7"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a37cc282b0852aab04b13a6e6566adda7">to_string</a> (const <a class="el" href="structarm__compute_1_1_winograd_info.xhtml">WinogradInfo</a> &type)</td></tr>
<tr class="separator:a37cc282b0852aab04b13a6e6566adda7"><td class="memSeparator" colspan="2"> </td></tr>
@@ -4129,7 +4492,7 @@
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a769d636d7a3c7c84579a5f477a18bc9d"><td class="memItemLeft" align="right" valign="top">constexpr size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a769d636d7a3c7c84579a5f477a18bc9d">MAX_DIMS</a> = 6</td></tr>
-<tr class="memdesc:a769d636d7a3c7c84579a5f477a18bc9d"><td class="mdescLeft"> </td><td class="mdescRight">Constant value used to indicate maximum dimensions of a <a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a>, <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml" title="Shape of a tensor. ">TensorShape</a> and <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a>. <a href="#a769d636d7a3c7c84579a5f477a18bc9d">More...</a><br /></td></tr>
+<tr class="memdesc:a769d636d7a3c7c84579a5f477a18bc9d"><td class="mdescLeft"> </td><td class="mdescRight">Constant value used to indicate maximum dimensions of a <a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window.">Window</a>, <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml" title="Shape of a tensor.">TensorShape</a> and <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item.">Coordinates</a>. <a href="#a769d636d7a3c7c84579a5f477a18bc9d">More...</a><br /></td></tr>
<tr class="separator:a769d636d7a3c7c84579a5f477a18bc9d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a869945609357fa552d94eb16f7aad4e9"><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#a869945609357fa552d94eb16f7aad4e9">exp_tab</a></td></tr>
<tr class="memdesc:a869945609357fa552d94eb16f7aad4e9"><td class="mdescLeft"> </td><td class="mdescRight">Exponent polynomial coefficients. <a href="#a869945609357fa552d94eb16f7aad4e9">More...</a><br /></td></tr>
@@ -4138,7 +4501,7 @@
<tr class="memdesc:a48fb9cf404e8f7043235bf14105c9793"><td class="mdescLeft"> </td><td class="mdescRight">Logarithm polynomial coefficients. <a href="#a48fb9cf404e8f7043235bf14105c9793">More...</a><br /></td></tr>
<tr class="separator:a48fb9cf404e8f7043235bf14105c9793"><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="memdesc:af9876aedd664cac0ddeacddb40cb71cd"><td class="mdescLeft"> </td><td class="mdescRight">Constant value used to indicate a half-scale pyramid. <a href="#af9876aedd664cac0ddeacddb40cb71cd">More...</a><br /></td></tr>
@@ -4154,6 +4517,7 @@
<p>This file contains all available output stages for GEMMLowp on NEON.</p>
<p>This file contains all available output stages for GEMMLowp on OpenCL.</p>
<p>Copyright (c) 2018 ARM Limited.</p>
+<p>Copyright (c) 2018-2019 ARM Limited.</p>
<p>SPDX-License-Identifier: MIT</p>
<p>Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
@@ -4193,7 +4557,7 @@
</table>
</div><div class="memdoc">
-<p>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> of Coefficient Tables. </p>
+<p>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> of Coefficient Tables. </p>
<p class="definition">Definition at line <a class="el" href="_c_l_optical_flow_8h_source.xhtml#l00049">49</a> of file <a class="el" href="_c_l_optical_flow_8h_source.xhtml">CLOpticalFlow.h</a>.</p>
@@ -4337,7 +4701,7 @@
</table>
</div><div class="memdoc">
-<p>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> of 2D <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a>. </p>
+<p>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> of 2D <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item.">Coordinates</a>. </p>
<p class="definition">Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00109">109</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
@@ -4355,12 +4719,30 @@
</table>
</div><div class="memdoc">
-<p>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> of Detection Windows. </p>
+<p>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> of Detection Windows. </p>
<p class="definition">Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00111">111</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
</div>
</div>
+<a id="a18e76ae589217a65f77b971de3f3f65a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a18e76ae589217a65f77b971de3f3f65a">◆ </a></span>CLEqual</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a18e76ae589217a65f77b971de3f3f65a">CLEqual</a> = <a class="el" href="classarm__compute_1_1_c_l_comparison_static.xhtml">CLComparisonStatic</a><<a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58caf5f286e73bda105e538310b3190f75c5">ComparisonOperation::Equal</a>></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Basic function to run equal comparison. </p>
+
+<p class="definition">Definition at line <a class="el" href="_c_l_comparison_8h_source.xhtml#l00090">90</a> of file <a class="el" href="_c_l_comparison_8h_source.xhtml">CLComparison.h</a>.</p>
+
+</div>
+</div>
<a id="a193a4859b365f3ef4e0d73a1e6b12c85"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a193a4859b365f3ef4e0d73a1e6b12c85">◆ </a></span>CLFloatArray</h2>
@@ -4373,9 +4755,45 @@
</table>
</div><div class="memdoc">
-<p>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> of floats. </p>
+<p>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> of floats. </p>
-<p class="definition">Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00127">127</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00125">125</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
+
+</div>
+</div>
+<a id="ab9b18840e11edcbeafcd80d4c44b80cb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab9b18840e11edcbeafcd80d4c44b80cb">◆ </a></span>CLGreater</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ab9b18840e11edcbeafcd80d4c44b80cb">CLGreater</a> = <a class="el" href="classarm__compute_1_1_c_l_comparison_static.xhtml">CLComparisonStatic</a><<a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca8768a6821cd735aea4f5b0df88c1fc6a">ComparisonOperation::Greater</a>></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Basic function to run greater comparison. </p>
+
+<p class="definition">Definition at line <a class="el" href="_c_l_comparison_8h_source.xhtml#l00094">94</a> of file <a class="el" href="_c_l_comparison_8h_source.xhtml">CLComparison.h</a>.</p>
+
+</div>
+</div>
+<a id="ade630074f2c9d58d64c399bd6b49bc56"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ade630074f2c9d58d64c399bd6b49bc56">◆ </a></span>CLGreaterEqual</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ade630074f2c9d58d64c399bd6b49bc56">CLGreaterEqual</a> = <a class="el" href="classarm__compute_1_1_c_l_comparison_static.xhtml">CLComparisonStatic</a><<a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca758b05d899def79c9eb864ad4f96be1f">ComparisonOperation::GreaterEqual</a>></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Basic function to run greater-equal comparison. </p>
+
+<p class="definition">Definition at line <a class="el" href="_c_l_comparison_8h_source.xhtml#l00096">96</a> of file <a class="el" href="_c_l_comparison_8h_source.xhtml">CLComparison.h</a>.</p>
</div>
</div>
@@ -4391,7 +4809,7 @@
</table>
</div><div class="memdoc">
-<p>OpenCL <a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a>. </p>
+<p>OpenCL <a class="el" href="struct_image.xhtml" title="Structure to hold Image information.">Image</a>. </p>
<p class="definition">Definition at line <a class="el" href="_c_l_tensor_8h_source.xhtml#l00080">80</a> of file <a class="el" href="_c_l_tensor_8h_source.xhtml">CLTensor.h</a>.</p>
@@ -4409,9 +4827,9 @@
</table>
</div><div class="memdoc">
-<p>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> of int16s. </p>
+<p>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> of int16s. </p>
-<p class="definition">Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00123">123</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00121">121</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
</div>
</div>
@@ -4427,9 +4845,9 @@
</table>
</div><div class="memdoc">
-<p>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> of int32s. </p>
+<p>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> of int32s. </p>
-<p class="definition">Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00125">125</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00123">123</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
</div>
</div>
@@ -4445,12 +4863,48 @@
</table>
</div><div class="memdoc">
-<p>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> of Key Points. </p>
+<p>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> of Key Points. </p>
<p class="definition">Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00107">107</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
</div>
</div>
+<a id="a8c2c9a77f235807441eacdddd896d50c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8c2c9a77f235807441eacdddd896d50c">◆ </a></span>CLLess</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a8c2c9a77f235807441eacdddd896d50c">CLLess</a> = <a class="el" href="classarm__compute_1_1_c_l_comparison_static.xhtml">CLComparisonStatic</a><<a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca1cfdf0e8d0c87a228c1f40d9bee7888b">ComparisonOperation::Less</a>></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Basic function to run less comparison. </p>
+
+<p class="definition">Definition at line <a class="el" href="_c_l_comparison_8h_source.xhtml#l00098">98</a> of file <a class="el" href="_c_l_comparison_8h_source.xhtml">CLComparison.h</a>.</p>
+
+</div>
+</div>
+<a id="a258b8c95199c121d8f2a9a540cd48e5e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a258b8c95199c121d8f2a9a540cd48e5e">◆ </a></span>CLLessEqual</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a258b8c95199c121d8f2a9a540cd48e5e">CLLessEqual</a> = <a class="el" href="classarm__compute_1_1_c_l_comparison_static.xhtml">CLComparisonStatic</a><<a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58cad3e6fdac55bb7b0edd7834c968ba1f38">ComparisonOperation::LessEqual</a>></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Basic function to run less-equal comparison. </p>
+
+<p class="definition">Definition at line <a class="el" href="_c_l_comparison_8h_source.xhtml#l00100">100</a> of file <a class="el" href="_c_l_comparison_8h_source.xhtml">CLComparison.h</a>.</p>
+
+</div>
+</div>
<a id="a70997613219641045213b0c12948fb74"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a70997613219641045213b0c12948fb74">◆ </a></span>CLLKInternalKeypointArray</h2>
@@ -4463,7 +4917,7 @@
</table>
</div><div class="memdoc">
-<p>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> of Internal Keypoints. </p>
+<p>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> of Internal Keypoints. </p>
<p class="definition">Definition at line <a class="el" href="_c_l_optical_flow_8h_source.xhtml#l00047">47</a> of file <a class="el" href="_c_l_optical_flow_8h_source.xhtml">CLOpticalFlow.h</a>.</p>
@@ -4481,12 +4935,30 @@
</table>
</div><div class="memdoc">
-<p><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> Group in OpenCL. </p>
+<p><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object.">Memory</a> Group in OpenCL. </p>
<p class="definition">Definition at line <a class="el" href="_c_l_memory_group_8h_source.xhtml#l00035">35</a> of file <a class="el" href="_c_l_memory_group_8h_source.xhtml">CLMemoryGroup.h</a>.</p>
</div>
</div>
+<a id="aea3e261c61344f44892f8be73cfc0301"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aea3e261c61344f44892f8be73cfc0301">◆ </a></span>CLNotEqual</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#aea3e261c61344f44892f8be73cfc0301">CLNotEqual</a> = <a class="el" href="classarm__compute_1_1_c_l_comparison_static.xhtml">CLComparisonStatic</a><<a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca19bb0af2c3c530538cb41aff7f235b96">ComparisonOperation::NotEqual</a>></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Basic function to run not equal comparison. </p>
+
+<p class="definition">Definition at line <a class="el" href="_c_l_comparison_8h_source.xhtml#l00092">92</a> of file <a class="el" href="_c_l_comparison_8h_source.xhtml">CLComparison.h</a>.</p>
+
+</div>
+</div>
<a id="a4ec6965f606c588137f7a48d84c1d6f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ec6965f606c588137f7a48d84c1d6f0">◆ </a></span>CLOldValueArray</h2>
@@ -4499,30 +4971,12 @@
</table>
</div><div class="memdoc">
-<p>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> of Old Values. </p>
+<p>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> of Old Values. </p>
<p class="definition">Definition at line <a class="el" href="_c_l_optical_flow_8h_source.xhtml#l00051">51</a> of file <a class="el" href="_c_l_optical_flow_8h_source.xhtml">CLOpticalFlow.h</a>.</p>
</div>
</div>
-<a id="a7d756aef16b9c22456bb7aca8fbb4f4c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7d756aef16b9c22456bb7aca8fbb4f4c">◆ </a></span>CLROIArray</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a7d756aef16b9c22456bb7aca8fbb4f4c">CLROIArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a><<a class="el" href="structarm__compute_1_1_r_o_i.xhtml">ROI</a>></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>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> of ROIs. </p>
-
-<p class="definition">Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00113">113</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
-
-</div>
-</div>
<a id="ac72d613f7270604dbcad2553c278b16c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac72d613f7270604dbcad2553c278b16c">◆ </a></span>CLSeparableConvolution5x5HorKernel</h2>
@@ -4643,9 +5097,9 @@
</table>
</div><div class="memdoc">
-<p>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> of 2D Sizes. </p>
+<p>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> of 2D Sizes. </p>
-<p class="definition">Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00115">115</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00113">113</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
</div>
</div>
@@ -4661,9 +5115,9 @@
</table>
</div><div class="memdoc">
-<p>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> of uint16s. </p>
+<p>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> of uint16s. </p>
-<p class="definition">Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00119">119</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00117">117</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
</div>
</div>
@@ -4679,9 +5133,9 @@
</table>
</div><div class="memdoc">
-<p>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> of uint32s. </p>
+<p>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> of uint32s. </p>
-<p class="definition">Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00121">121</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00119">119</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
</div>
</div>
@@ -4697,9 +5151,9 @@
</table>
</div><div class="memdoc">
-<p>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> of uint8s. </p>
+<p>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> of uint8s. </p>
-<p class="definition">Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00117">117</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00115">115</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
</div>
</div>
@@ -4731,7 +5185,7 @@
</table>
</div><div class="memdoc">
-<p><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 2D <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a>. </p>
+<p><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 2D <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item.">Coordinates</a>. </p>
<p class="definition">Definition at line <a class="el" href="_array_8h_source.xhtml#l00067">67</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
@@ -4749,7 +5203,7 @@
</table>
</div><div class="memdoc">
-<p><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 Detection Windows. </p>
+<p><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 Detection Windows. </p>
<p class="definition">Definition at line <a class="el" href="_array_8h_source.xhtml#l00069">69</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
@@ -4783,9 +5237,9 @@
</table>
</div><div class="memdoc">
-<p><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 floats. </p>
+<p><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 floats. </p>
-<p class="definition">Definition at line <a class="el" href="_array_8h_source.xhtml#l00085">85</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_array_8h_source.xhtml#l00083">83</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
</div>
</div>
@@ -4855,7 +5309,7 @@
</table>
</div><div class="memdoc">
-<p>OpenGL ES <a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a>. </p>
+<p>OpenGL ES <a class="el" href="struct_image.xhtml" title="Structure to hold Image information.">Image</a>. </p>
<p class="definition">Definition at line <a class="el" href="_g_c_tensor_8h_source.xhtml#l00098">98</a> of file <a class="el" href="_g_c_tensor_8h_source.xhtml">GCTensor.h</a>.</p>
@@ -4925,7 +5379,7 @@
</table>
</div><div class="memdoc">
-<p>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> of Coefficient Tables. </p>
+<p>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> of Coefficient Tables. </p>
<p class="definition">Definition at line <a class="el" href="_c_l_l_k_tracker_kernel_8h_source.xhtml#l00068">68</a> of file <a class="el" href="_c_l_l_k_tracker_kernel_8h_source.xhtml">CLLKTrackerKernel.h</a>.</p>
@@ -4943,7 +5397,7 @@
</table>
</div><div class="memdoc">
-<p>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> of 2D <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a>. </p>
+<p>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> of 2D <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item.">Coordinates</a>. </p>
<p class="definition">Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00121">121</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
@@ -4961,7 +5415,7 @@
</table>
</div><div class="memdoc">
-<p>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> of Detection Windows. </p>
+<p>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> of Detection Windows. </p>
<p class="definition">Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00123">123</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
@@ -4979,9 +5433,9 @@
</table>
</div><div class="memdoc">
-<p>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> of floats. </p>
+<p>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> of floats. </p>
-<p class="definition">Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00139">139</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00137">137</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
</div>
</div>
@@ -5015,9 +5469,9 @@
</table>
</div><div class="memdoc">
-<p>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> of int16s. </p>
+<p>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> of int16s. </p>
-<p class="definition">Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00135">135</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00133">133</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
</div>
</div>
@@ -5033,9 +5487,9 @@
</table>
</div><div class="memdoc">
-<p>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> of int32s. </p>
+<p>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> of int32s. </p>
-<p class="definition">Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00137">137</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00135">135</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
</div>
</div>
@@ -5051,7 +5505,7 @@
</table>
</div><div class="memdoc">
-<p>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> of Key Points. </p>
+<p>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> of Key Points. </p>
<p class="definition">Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00119">119</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
@@ -5069,7 +5523,7 @@
</table>
</div><div class="memdoc">
-<p>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> of Internal Key Points. </p>
+<p>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> of Internal Key Points. </p>
<p class="definition">Definition at line <a class="el" href="_c_l_l_k_tracker_kernel_8h_source.xhtml#l00066">66</a> of file <a class="el" href="_c_l_l_k_tracker_kernel_8h_source.xhtml">CLLKTrackerKernel.h</a>.</p>
@@ -5087,30 +5541,12 @@
</table>
</div><div class="memdoc">
-<p>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> of Old Values. </p>
+<p>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> of Old Values. </p>
<p class="definition">Definition at line <a class="el" href="_c_l_l_k_tracker_kernel_8h_source.xhtml#l00070">70</a> of file <a class="el" href="_c_l_l_k_tracker_kernel_8h_source.xhtml">CLLKTrackerKernel.h</a>.</p>
</div>
</div>
-<a id="a64e11fcdd0f4a3f7d832495b7053fbe9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a64e11fcdd0f4a3f7d832495b7053fbe9">◆ </a></span>ICLROIArray</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a64e11fcdd0f4a3f7d832495b7053fbe9">ICLROIArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a><<a class="el" href="structarm__compute_1_1_r_o_i.xhtml">ROI</a>></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>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> of ROIs. </p>
-
-<p class="definition">Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00125">125</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
-
-</div>
-</div>
<a id="a68396eee600b3d23bf7f95a802e65dff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a68396eee600b3d23bf7f95a802e65dff">◆ </a></span>ICLSize2DArray</h2>
@@ -5123,9 +5559,9 @@
</table>
</div><div class="memdoc">
-<p>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> of 2D Sizes. </p>
+<p>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> of 2D Sizes. </p>
-<p class="definition">Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00127">127</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00125">125</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
</div>
</div>
@@ -5141,9 +5577,9 @@
</table>
</div><div class="memdoc">
-<p>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> of uint16s. </p>
+<p>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> of uint16s. </p>
-<p class="definition">Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00131">131</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00129">129</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
</div>
</div>
@@ -5159,9 +5595,9 @@
</table>
</div><div class="memdoc">
-<p>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> of uint32s. </p>
+<p>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> of uint32s. </p>
-<p class="definition">Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00133">133</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00131">131</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
</div>
</div>
@@ -5177,9 +5613,9 @@
</table>
</div><div class="memdoc">
-<p>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> of uint8s. </p>
+<p>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> of uint8s. </p>
-<p class="definition">Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00129">129</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00127">127</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
</div>
</div>
@@ -5195,9 +5631,9 @@
</table>
</div><div class="memdoc">
-<p>Interface for <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 2D <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a>. </p>
+<p>Interface for <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 2D <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item.">Coordinates</a>. </p>
-<p class="definition">Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00142">142</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00141">141</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
</div>
</div>
@@ -5213,9 +5649,9 @@
</table>
</div><div class="memdoc">
-<p>Interface for <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 Detection Windows. </p>
+<p>Interface for <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 Detection Windows. </p>
-<p class="definition">Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00144">144</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00143">143</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
</div>
</div>
@@ -5231,9 +5667,9 @@
</table>
</div><div class="memdoc">
-<p>Interface for <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 floats. </p>
+<p>Interface for <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 floats. </p>
-<p class="definition">Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00160">160</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00157">157</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
</div>
</div>
@@ -5285,9 +5721,9 @@
</table>
</div><div class="memdoc">
-<p>Interface for <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 int16s. </p>
+<p>Interface for <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 int16s. </p>
-<p class="definition">Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00156">156</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00153">153</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
</div>
</div>
@@ -5303,9 +5739,9 @@
</table>
</div><div class="memdoc">
-<p>Interface for <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 int32s. </p>
+<p>Interface for <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 int32s. </p>
-<p class="definition">Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00158">158</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00155">155</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
</div>
</div>
@@ -5321,9 +5757,9 @@
</table>
</div><div class="memdoc">
-<p>Interface for <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 Key Points. </p>
+<p>Interface for <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 Key Points. </p>
-<p class="definition">Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00140">140</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00139">139</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
</div>
</div>
@@ -5339,7 +5775,7 @@
</table>
</div><div class="memdoc">
-<p><a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a>. </p>
+<p><a class="el" href="struct_image.xhtml" title="Structure to hold Image information.">Image</a>. </p>
<p class="definition">Definition at line <a class="el" href="runtime_2_tensor_8h_source.xhtml#l00064">64</a> of file <a class="el" href="runtime_2_tensor_8h_source.xhtml">Tensor.h</a>.</p>
@@ -5375,7 +5811,7 @@
</table>
</div><div class="memdoc">
-<p>Interface for NEON <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 Internal Key Points. </p>
+<p>Interface for NEON <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 Internal Key Points. </p>
<p class="definition">Definition at line <a class="el" href="_n_e_l_k_tracker_kernel_8h_source.xhtml#l00049">49</a> of file <a class="el" href="_n_e_l_k_tracker_kernel_8h_source.xhtml">NELKTrackerKernel.h</a>.</p>
@@ -5411,9 +5847,9 @@
</table>
</div><div class="memdoc">
-<p><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 int16s. </p>
+<p><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 int16s. </p>
-<p class="definition">Definition at line <a class="el" href="_array_8h_source.xhtml#l00081">81</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_array_8h_source.xhtml#l00079">79</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
</div>
</div>
@@ -5429,9 +5865,9 @@
</table>
</div><div class="memdoc">
-<p><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 int32s. </p>
+<p><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 int32s. </p>
-<p class="definition">Definition at line <a class="el" href="_array_8h_source.xhtml#l00083">83</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_array_8h_source.xhtml#l00081">81</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
</div>
</div>
@@ -5449,25 +5885,7 @@
<p>Internal key point. </p>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00450">450</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
-
-</div>
-</div>
-<a id="ae273be451a4d6de5fa255cb8fb09a64b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae273be451a4d6de5fa255cb8fb09a64b">◆ </a></span>IROIArray</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ae273be451a4d6de5fa255cb8fb09a64b">IROIArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a><<a class="el" href="structarm__compute_1_1_r_o_i.xhtml">ROI</a>></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Interface for <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 ROIs. </p>
-
-<p class="definition">Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00146">146</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00469">469</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
</div>
</div>
@@ -5483,9 +5901,9 @@
</table>
</div><div class="memdoc">
-<p>Interface for <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 2D Sizes. </p>
+<p>Interface for <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 2D Sizes. </p>
-<p class="definition">Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00148">148</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00145">145</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
</div>
</div>
@@ -5501,9 +5919,9 @@
</table>
</div><div class="memdoc">
-<p>Interface for <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 uint16s. </p>
+<p>Interface for <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 uint16s. </p>
-<p class="definition">Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00152">152</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00149">149</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
</div>
</div>
@@ -5519,9 +5937,9 @@
</table>
</div><div class="memdoc">
-<p>Interface for <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 uint32s. </p>
+<p>Interface for <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 uint32s. </p>
-<p class="definition">Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00154">154</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00151">151</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
</div>
</div>
@@ -5537,9 +5955,9 @@
</table>
</div><div class="memdoc">
-<p>Interface for <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 uint8s. </p>
+<p>Interface for <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 uint8s. </p>
-<p class="definition">Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00150">150</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00147">147</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
</div>
</div>
@@ -5555,12 +5973,28 @@
</table>
</div><div class="memdoc">
-<p><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 Key Points. </p>
+<p><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 Key Points. </p>
<p class="definition">Definition at line <a class="el" href="_array_8h_source.xhtml#l00065">65</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
</div>
</div>
+<a id="a668a7893195a4a08c4d26afd2b15a6b4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a668a7893195a4a08c4d26afd2b15a6b4">◆ </a></span>LabelBBox</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a668a7893195a4a08c4d26afd2b15a6b4">LabelBBox</a> = std::map<int, std::vector<<a class="el" href="namespacearm__compute.xhtml#a4ec997c1b05a1fd406828bc7e1f41dad">NormalizedBBox</a>> ></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_c_p_p_detection_output_layer_8h_source.xhtml#l00040">40</a> of file <a class="el" href="_c_p_p_detection_output_layer_8h_source.xhtml">CPPDetectionOutputLayer.h</a>.</p>
+
+</div>
+</div>
<a id="a681c120e2188371794ec3a59768c64ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a681c120e2188371794ec3a59768c64ab">◆ </a></span>LKInternalKeypointArray</h2>
@@ -5573,7 +6007,7 @@
</table>
</div><div class="memdoc">
-<p><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 LK Internel Keypoints. </p>
+<p><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 LK Internel Keypoints. </p>
<p class="definition">Definition at line <a class="el" href="_n_e_optical_flow_8h_source.xhtml#l00046">46</a> of file <a class="el" href="_n_e_optical_flow_8h_source.xhtml">NEOpticalFlow.h</a>.</p>
@@ -5591,7 +6025,7 @@
</table>
</div><div class="memdoc">
-<p><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> Group. </p>
+<p><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object.">Memory</a> Group. </p>
<p class="definition">Definition at line <a class="el" href="_memory_group_8h_source.xhtml#l00034">34</a> of file <a class="el" href="_memory_group_8h_source.xhtml">MemoryGroup.h</a>.</p>
@@ -5616,6 +6050,24 @@
</div>
</div>
+<a id="afe9e10e5fdfd1e2665ac17c75c0cacd8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afe9e10e5fdfd1e2665ac17c75c0cacd8">◆ </a></span>Multiples</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#afe9e10e5fdfd1e2665ac17c75c0cacd8">Multiples</a> = std::vector<uint32_t></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Information to produce a tiled version of a <a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface.">Tensor</a>. </p>
+
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00502">502</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+
+</div>
+</div>
<a id="acded863dbfdd730829d4188d67eefcf0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acded863dbfdd730829d4188d67eefcf0">◆ </a></span>Mutex</h2>
@@ -5796,6 +6248,96 @@
</div>
</div>
+<a id="a8fdefd8ed8639758d0aa6c68087d55e6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8fdefd8ed8639758d0aa6c68087d55e6">◆ </a></span>NEEqual</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a8fdefd8ed8639758d0aa6c68087d55e6">NEEqual</a> = <a class="el" href="classarm__compute_1_1_n_e_elementwise_comparison_static.xhtml">NEElementwiseComparisonStatic</a><<a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58caf5f286e73bda105e538310b3190f75c5">ComparisonOperation::Equal</a>></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Basic function to run equal comparison. </p>
+
+<p class="definition">Definition at line <a class="el" href="_n_e_elementwise_operations_8h_source.xhtml#l00194">194</a> of file <a class="el" href="_n_e_elementwise_operations_8h_source.xhtml">NEElementwiseOperations.h</a>.</p>
+
+</div>
+</div>
+<a id="a44f1c40220d4ac837899ef5ebf7aaee9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a44f1c40220d4ac837899ef5ebf7aaee9">◆ </a></span>NEGreater</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a44f1c40220d4ac837899ef5ebf7aaee9">NEGreater</a> = <a class="el" href="classarm__compute_1_1_n_e_elementwise_comparison_static.xhtml">NEElementwiseComparisonStatic</a><<a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca8768a6821cd735aea4f5b0df88c1fc6a">ComparisonOperation::Greater</a>></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Basic function to run greater comparison. </p>
+
+<p class="definition">Definition at line <a class="el" href="_n_e_elementwise_operations_8h_source.xhtml#l00198">198</a> of file <a class="el" href="_n_e_elementwise_operations_8h_source.xhtml">NEElementwiseOperations.h</a>.</p>
+
+</div>
+</div>
+<a id="aa09ba119a3b8b2950581f7c80e9445b6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa09ba119a3b8b2950581f7c80e9445b6">◆ </a></span>NEGreaterEqual</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#aa09ba119a3b8b2950581f7c80e9445b6">NEGreaterEqual</a> = <a class="el" href="classarm__compute_1_1_n_e_elementwise_comparison_static.xhtml">NEElementwiseComparisonStatic</a><<a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca758b05d899def79c9eb864ad4f96be1f">ComparisonOperation::GreaterEqual</a>></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Basic function to run greater-equal comparison. </p>
+
+<p class="definition">Definition at line <a class="el" href="_n_e_elementwise_operations_8h_source.xhtml#l00200">200</a> of file <a class="el" href="_n_e_elementwise_operations_8h_source.xhtml">NEElementwiseOperations.h</a>.</p>
+
+</div>
+</div>
+<a id="a36ae4d66ca830f6aeef54964b0c31fd3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a36ae4d66ca830f6aeef54964b0c31fd3">◆ </a></span>NELess</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a36ae4d66ca830f6aeef54964b0c31fd3">NELess</a> = <a class="el" href="classarm__compute_1_1_n_e_elementwise_comparison_static.xhtml">NEElementwiseComparisonStatic</a><<a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca1cfdf0e8d0c87a228c1f40d9bee7888b">ComparisonOperation::Less</a>></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Basic function to run less comparison. </p>
+
+<p class="definition">Definition at line <a class="el" href="_n_e_elementwise_operations_8h_source.xhtml#l00202">202</a> of file <a class="el" href="_n_e_elementwise_operations_8h_source.xhtml">NEElementwiseOperations.h</a>.</p>
+
+</div>
+</div>
+<a id="ab10ab37a597594e7aabec4a067988d37"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab10ab37a597594e7aabec4a067988d37">◆ </a></span>NELessEqual</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ab10ab37a597594e7aabec4a067988d37">NELessEqual</a> = <a class="el" href="classarm__compute_1_1_n_e_elementwise_comparison_static.xhtml">NEElementwiseComparisonStatic</a><<a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58cad3e6fdac55bb7b0edd7834c968ba1f38">ComparisonOperation::LessEqual</a>></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Basic function to run less-equal comparison. </p>
+
+<p class="definition">Definition at line <a class="el" href="_n_e_elementwise_operations_8h_source.xhtml#l00204">204</a> of file <a class="el" href="_n_e_elementwise_operations_8h_source.xhtml">NEElementwiseOperations.h</a>.</p>
+
+</div>
+</div>
<a id="a38cad49e6beaef76bc1ec5064c9e9dba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a38cad49e6beaef76bc1ec5064c9e9dba">◆ </a></span>NENonMaximaSuppression3x3FP16Kernel</h2>
@@ -5814,6 +6356,24 @@
</div>
</div>
+<a id="a732ac47723cd850cc5ffa208bc3e3b00"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a732ac47723cd850cc5ffa208bc3e3b00">◆ </a></span>NENotEqual</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a732ac47723cd850cc5ffa208bc3e3b00">NENotEqual</a> = <a class="el" href="classarm__compute_1_1_n_e_elementwise_comparison_static.xhtml">NEElementwiseComparisonStatic</a><<a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca19bb0af2c3c530538cb41aff7f235b96">ComparisonOperation::NotEqual</a>></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Basic function to run not equal comparison. </p>
+
+<p class="definition">Definition at line <a class="el" href="_n_e_elementwise_operations_8h_source.xhtml#l00196">196</a> of file <a class="el" href="_n_e_elementwise_operations_8h_source.xhtml">NEElementwiseOperations.h</a>.</p>
+
+</div>
+</div>
<a id="a0604c803e41880a4a16408efc4e6a69b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0604c803e41880a4a16408efc4e6a69b">◆ </a></span>NEScheduler</h2>
@@ -5940,6 +6500,22 @@
</div>
</div>
+<a id="a4ec997c1b05a1fd406828bc7e1f41dad"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4ec997c1b05a1fd406828bc7e1f41dad">◆ </a></span>NormalizedBBox</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a4ec997c1b05a1fd406828bc7e1f41dad">NormalizedBBox</a> = std::array<float, 4></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_c_p_p_detection_output_layer_8h_source.xhtml#l00038">38</a> of file <a class="el" href="_c_p_p_detection_output_layer_8h_source.xhtml">CPPDetectionOutputLayer.h</a>.</p>
+
+</div>
+</div>
<a id="a669b5d3c5994f9ae3be31df9a1014297"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a669b5d3c5994f9ae3be31df9a1014297">◆ </a></span>PaddingInfo</h2>
@@ -5954,7 +6530,7 @@
<p>Padding information as a pair of unsigned int start/end. </p>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00477">477</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00496">496</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
</div>
</div>
@@ -5972,7 +6548,7 @@
<p>List of padding information. </p>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00480">480</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00499">499</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
</div>
</div>
@@ -5990,7 +6566,7 @@
<p>Container for 2D padding size. </p>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00381">381</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00400">400</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
</div>
</div>
@@ -6136,24 +6712,6 @@
</div>
</div>
-<a id="a35ae0858a604c4c0672ce857e8080ae4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a35ae0858a604c4c0672ce857e8080ae4">◆ </a></span>ROIArray</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a35ae0858a604c4c0672ce857e8080ae4">ROIArray</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a><<a class="el" href="structarm__compute_1_1_r_o_i.xhtml">ROI</a>></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p><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 ROIs. </p>
-
-<p class="definition">Definition at line <a class="el" href="_array_8h_source.xhtml#l00071">71</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
-
-</div>
-</div>
<a id="abd445adaaca7913c9344c90dc8c76358"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abd445adaaca7913c9344c90dc8c76358">◆ </a></span>Size2DArray</h2>
@@ -6166,9 +6724,9 @@
</table>
</div><div class="memdoc">
-<p><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 2D Sizes. </p>
+<p><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 2D Sizes. </p>
-<p class="definition">Definition at line <a class="el" href="_array_8h_source.xhtml#l00073">73</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_array_8h_source.xhtml#l00071">71</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
</div>
</div>
@@ -6184,9 +6742,9 @@
</table>
</div><div class="memdoc">
-<p><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 uint16s. </p>
+<p><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 uint16s. </p>
-<p class="definition">Definition at line <a class="el" href="_array_8h_source.xhtml#l00077">77</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_array_8h_source.xhtml#l00075">75</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
</div>
</div>
@@ -6202,9 +6760,9 @@
</table>
</div><div class="memdoc">
-<p><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 uint32s. </p>
+<p><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 uint32s. </p>
-<p class="definition">Definition at line <a class="el" href="_array_8h_source.xhtml#l00079">79</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_array_8h_source.xhtml#l00077">77</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
</div>
</div>
@@ -6220,9 +6778,9 @@
</table>
</div><div class="memdoc">
-<p><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 uint8s. </p>
+<p><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 uint8s. </p>
-<p class="definition">Definition at line <a class="el" href="_array_8h_source.xhtml#l00075">75</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_array_8h_source.xhtml#l00073">73</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
</div>
</div>
@@ -6291,6 +6849,52 @@
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
+<a id="a23d9f0c01c9e120dfb828ee922b7a8ae"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a23d9f0c01c9e120dfb828ee922b7a8ae">◆ </a></span>ArithmeticOperation</h2>
+
+<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#a23d9f0c01c9e120dfb828ee922b7a8ae">ArithmeticOperation</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 element-wise operations. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a23d9f0c01c9e120dfb828ee922b7a8aea9eeb52badb613229884838847294b90d"></a>ADD </td><td class="fielddoc"><p>(x + y) </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a23d9f0c01c9e120dfb828ee922b7a8aea241dd841abade20fcb27b8a9f494e1eb"></a>SUB </td><td class="fielddoc"><p>(x - y) </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a23d9f0c01c9e120dfb828ee922b7a8aea29bbf66f7f8529ec47e394fb5a36c646"></a>DIV </td><td class="fielddoc"><p>(x / y) </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a23d9f0c01c9e120dfb828ee922b7a8aeace31e2a082d17e038fcc6e3006166653"></a>MIN </td><td class="fielddoc"><p>Min(x, y) </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a23d9f0c01c9e120dfb828ee922b7a8aea26a4b44a837bf97b972628509912b4a5"></a>MAX </td><td class="fielddoc"><p>Max(x, y) </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a23d9f0c01c9e120dfb828ee922b7a8aea46ea186b87dc545033d86ba8d6e63916"></a>SQUARED_DIFF </td><td class="fielddoc"><p>(x - y)^2 </p>
+</td></tr>
+</table>
+
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00550">550</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="l00551"></a><span class="lineno"> 551</span> {</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>  <a class="code" href="elementwise__operation_8cl.xhtml#af3b709fb668cf93ca09e2a46a2a031a8">ADD</a>, </div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>  <a class="code" href="elementwise__operation_8cl.xhtml#aafc2c4f262a0686c07f86c7d2e1d8d14">SUB</a>, </div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>  <a class="code" href="elementwise__operation_8cl.xhtml#a49f6fecffd852cda3b0ece53dcbb2b87">DIV</a>, </div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>  <a class="code" href="elementwise__operation_8cl.xhtml#a74e75242132eaabbc1c512488a135926">MIN</a>, </div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>  <a class="code" href="elementwise__operation_8cl.xhtml#aacc3ee1a7f283f8ef65cea31f4436a95">MAX</a>, </div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>  <a class="code" href="elementwise__operation_8cl.xhtml#ab05bd244cb8823c69d6dce6a23a758fd">SQUARED_DIFF</a>, </div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span> };</div><div class="ttc" id="elementwise__operation_8cl_xhtml_af3b709fb668cf93ca09e2a46a2a031a8"><div class="ttname"><a href="elementwise__operation_8cl.xhtml#af3b709fb668cf93ca09e2a46a2a031a8">ADD</a></div><div class="ttdeci">#define ADD(x, y)</div><div class="ttdoc">List of all the operations supported by this kernel.</div><div class="ttdef"><b>Definition:</b> <a href="elementwise__operation_8cl_source.xhtml#l00032">elementwise_operation.cl:32</a></div></div>
+<div class="ttc" id="elementwise__operation_8cl_xhtml_a74e75242132eaabbc1c512488a135926"><div class="ttname"><a href="elementwise__operation_8cl.xhtml#a74e75242132eaabbc1c512488a135926">MIN</a></div><div class="ttdeci">#define MIN(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="elementwise__operation_8cl_source.xhtml#l00037">elementwise_operation.cl:37</a></div></div>
+<div class="ttc" id="elementwise__operation_8cl_xhtml_aafc2c4f262a0686c07f86c7d2e1d8d14"><div class="ttname"><a href="elementwise__operation_8cl.xhtml#aafc2c4f262a0686c07f86c7d2e1d8d14">SUB</a></div><div class="ttdeci">#define SUB(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="elementwise__operation_8cl_source.xhtml#l00033">elementwise_operation.cl:33</a></div></div>
+<div class="ttc" id="elementwise__operation_8cl_xhtml_a49f6fecffd852cda3b0ece53dcbb2b87"><div class="ttname"><a href="elementwise__operation_8cl.xhtml#a49f6fecffd852cda3b0ece53dcbb2b87">DIV</a></div><div class="ttdeci">#define DIV(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="elementwise__operation_8cl_source.xhtml#l00039">elementwise_operation.cl:39</a></div></div>
+<div class="ttc" id="elementwise__operation_8cl_xhtml_aacc3ee1a7f283f8ef65cea31f4436a95"><div class="ttname"><a href="elementwise__operation_8cl.xhtml#aacc3ee1a7f283f8ef65cea31f4436a95">MAX</a></div><div class="ttdeci">#define MAX(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="elementwise__operation_8cl_source.xhtml#l00036">elementwise_operation.cl:36</a></div></div>
+<div class="ttc" id="elementwise__operation_8cl_xhtml_ab05bd244cb8823c69d6dce6a23a758fd"><div class="ttname"><a href="elementwise__operation_8cl.xhtml#ab05bd244cb8823c69d6dce6a23a758fd">SQUARED_DIFF</a></div><div class="ttdeci">#define SQUARED_DIFF(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="elementwise__operation_8cl_source.xhtml#l00038">elementwise_operation.cl:38</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
<a id="a2d8a00f1d80a53ce8f75fa929c873202"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2d8a00f1d80a53ce8f75fa929c873202">◆ </a></span>BilinearInterpolation</h2>
@@ -6319,9 +6923,9 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00399">399</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="l00400"></a><span class="lineno"> 400</span> {</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  <a class="code" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532">BILINEAR_OLD_NEW</a>, </div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  <a class="code" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64">BILINEAR_SCHARR</a> </div><div class="line"><a name="l00403"></a><span class="lineno"> 403</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 class="ttdoc">Old-new method. </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 class="ttdoc">Scharr method. </div></div>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00418">418</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="l00419"></a><span class="lineno"> 419</span> {</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  <a class="code" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532">BILINEAR_OLD_NEW</a>, </div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  <a class="code" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64">BILINEAR_SCHARR</a> </div><div class="line"><a name="l00422"></a><span class="lineno"> 422</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 class="ttdoc">Old-new method.</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 class="ttdoc">Scharr method.</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -6355,10 +6959,10 @@
</td></tr>
</table>
-<p class="definition">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#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">UNDEFINED</a>, </div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>, </div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a> </div><div class="line"><a name="l00291"></a><span class="lineno"> 291</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>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00305">305</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="l00306"></a><span class="lineno"> 306</span> {</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">UNDEFINED</a>, </div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>, </div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a> </div><div class="line"><a name="l00310"></a><span class="lineno"> 310</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 -->
</div>
</div>
@@ -6410,19 +7014,19 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00490">490</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="l00491"></a><span class="lineno"> 491</span> {</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53">C0</a>, </div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1">C1</a>, </div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4">C2</a>, </div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c">C3</a>, </div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">R</a>, </div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">G</a>, </div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, </div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, </div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>, </div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, </div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a> </div><div class="line"><a name="l00504"></a><span class="lineno"> 504</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>
-<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53">arm_compute::Channel::C0</a></div><div class="ttdoc">Unknown channel format. </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">arm_compute::Channel::R</a></div><div class="ttdoc">Red channel. </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4">arm_compute::Channel::C2</a></div><div class="ttdoc">Third channel (used by formats with unknown channel types). </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">arm_compute::Channel::U</a></div><div class="ttdoc">Cb/U channel. </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c">arm_compute::Channel::C3</a></div><div class="ttdoc">Fourth channel (used by formats with unknown channel types). </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">arm_compute::Channel::Y</a></div><div class="ttdoc">Luma channel. </div></div>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00505">505</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="l00506"></a><span class="lineno"> 506</span> {</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53">C0</a>, </div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1">C1</a>, </div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4">C2</a>, </div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c">C3</a>, </div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">R</a>, </div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">G</a>, </div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, </div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, </div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>, </div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  <a class="code" href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">U</a>, </div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a> </div><div class="line"><a name="l00519"></a><span class="lineno"> 519</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>
+<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53">arm_compute::Channel::C0</a></div><div class="ttdoc">Unknown channel format.</div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">arm_compute::Channel::R</a></div><div class="ttdoc">Red channel.</div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4">arm_compute::Channel::C2</a></div><div class="ttdoc">Third channel (used by formats with unknown channel types).</div></div>
+<div class="ttc" id="namespacearm__compute_1_1utils_1_1cast_xhtml_a2ea3d1fc01a3a442900249ca182ffa5e"><div class="ttname"><a href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">arm_compute::utils::cast::U</a></div><div class="ttdeci">U</div><div class="ttdef"><b>Definition:</b> <a href="_saturate_cast_8h_source.xhtml#l00057">SaturateCast.h:57</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c">arm_compute::Channel::C3</a></div><div class="ttdoc">Fourth channel (used by formats with unknown channel types).</div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">arm_compute::Channel::Y</a></div><div class="ttdoc">Luma 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_a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">arm_compute::Channel::G</a></div><div class="ttdoc">Green channel. </div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">arm_compute::Channel::G</a></div><div class="ttdoc">Green channel.</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -6464,6 +7068,52 @@
</div><!-- fragment -->
</div>
</div>
+<a id="a2d299363c9fc33334c571fa29ca4f58c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2d299363c9fc33334c571fa29ca4f58c">◆ </a></span>ComparisonOperation</h2>
+
+<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#a2d299363c9fc33334c571fa29ca4f58c">ComparisonOperation</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>Supported comparison operations. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a2d299363c9fc33334c571fa29ca4f58caf5f286e73bda105e538310b3190f75c5"></a>Equal </td><td class="fielddoc"><p>Equal comparison ( \( x == y \) ) </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a2d299363c9fc33334c571fa29ca4f58ca19bb0af2c3c530538cb41aff7f235b96"></a>NotEqual </td><td class="fielddoc"><p>NotEqual comparison ( \( x != y \) ) </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a2d299363c9fc33334c571fa29ca4f58ca8768a6821cd735aea4f5b0df88c1fc6a"></a>Greater </td><td class="fielddoc"><p>Greater comparison ( \( x > y \) ) </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a2d299363c9fc33334c571fa29ca4f58ca758b05d899def79c9eb864ad4f96be1f"></a>GreaterEqual </td><td class="fielddoc"><p>Greater equal comparison ( \( x >= y \) ) </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a2d299363c9fc33334c571fa29ca4f58ca1cfdf0e8d0c87a228c1f40d9bee7888b"></a>Less </td><td class="fielddoc"><p>Less comparison ( \( x < y \) ) </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a2d299363c9fc33334c571fa29ca4f58cad3e6fdac55bb7b0edd7834c968ba1f38"></a>LessEqual </td><td class="fielddoc"><p>Less equal comparison ( \( x <= y \) ) </p>
+</td></tr>
+</table>
+
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00137">137</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="l00138"></a><span class="lineno"> 138</span> {</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <a class="code" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58caf5f286e73bda105e538310b3190f75c5">Equal</a>, </div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <a class="code" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca19bb0af2c3c530538cb41aff7f235b96">NotEqual</a>, </div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <a class="code" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca8768a6821cd735aea4f5b0df88c1fc6a">Greater</a>, </div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <a class="code" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca758b05d899def79c9eb864ad4f96be1f">GreaterEqual</a>, </div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <a class="code" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca1cfdf0e8d0c87a228c1f40d9bee7888b">Less</a>, </div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <a class="code" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58cad3e6fdac55bb7b0edd7834c968ba1f38">LessEqual</a> </div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a2d299363c9fc33334c571fa29ca4f58ca1cfdf0e8d0c87a228c1f40d9bee7888b"><div class="ttname"><a href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca1cfdf0e8d0c87a228c1f40d9bee7888b">arm_compute::ComparisonOperation::Less</a></div><div class="ttdoc">Less comparison ( )</div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a2d299363c9fc33334c571fa29ca4f58ca758b05d899def79c9eb864ad4f96be1f"><div class="ttname"><a href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca758b05d899def79c9eb864ad4f96be1f">arm_compute::ComparisonOperation::GreaterEqual</a></div><div class="ttdoc">Greater equal comparison ( )</div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a2d299363c9fc33334c571fa29ca4f58caf5f286e73bda105e538310b3190f75c5"><div class="ttname"><a href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58caf5f286e73bda105e538310b3190f75c5">arm_compute::ComparisonOperation::Equal</a></div><div class="ttdoc">Equal comparison ( )</div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a2d299363c9fc33334c571fa29ca4f58ca8768a6821cd735aea4f5b0df88c1fc6a"><div class="ttname"><a href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca8768a6821cd735aea4f5b0df88c1fc6a">arm_compute::ComparisonOperation::Greater</a></div><div class="ttdoc">Greater comparison ( )</div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a2d299363c9fc33334c571fa29ca4f58cad3e6fdac55bb7b0edd7834c968ba1f38"><div class="ttname"><a href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58cad3e6fdac55bb7b0edd7834c968ba1f38">arm_compute::ComparisonOperation::LessEqual</a></div><div class="ttdoc">Less equal comparison ( )</div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a2d299363c9fc33334c571fa29ca4f58ca19bb0af2c3c530538cb41aff7f235b96"><div class="ttname"><a href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca19bb0af2c3c530538cb41aff7f235b96">arm_compute::ComparisonOperation::NotEqual</a></div><div class="ttdoc">NotEqual comparison ( )</div></div>
+</div><!-- fragment -->
+</div>
+</div>
<a id="a82b8ac759c804bc1fb4e2d21e178fb6f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a82b8ac759c804bc1fb4e2d21e178fb6f">◆ </a></span>ConvertPolicy</h2>
@@ -6492,9 +7142,9 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00384">384</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="l00385"></a><span class="lineno"> 385</span> {</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  <a class="code" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0">WRAP</a>, </div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  <a class="code" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86">SATURATE</a> </div><div class="line"><a name="l00388"></a><span class="lineno"> 388</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>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00403">403</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="l00404"></a><span class="lineno"> 404</span> {</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  <a class="code" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0">WRAP</a>, </div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  <a class="code" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86">SATURATE</a> </div><div class="line"><a name="l00407"></a><span class="lineno"> 407</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>
</div>
@@ -6528,10 +7178,10 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01792">1792</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="l01793"></a><span class="lineno"> 1793</span> {</div><div class="line"><a name="l01794"></a><span class="lineno"> 1794</span>  <a class="code" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da5174aac3927faa9ee34befb7fc87a9e3">GEMM</a>, </div><div class="line"><a name="l01795"></a><span class="lineno"> 1795</span>  <a class="code" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da4c5d06b02c97731aaa976179c62dcf76">DIRECT</a>, </div><div class="line"><a name="l01796"></a><span class="lineno"> 1796</span>  <a class="code" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da9d024a5762b3a992dec7eb3c49d17ae8">WINOGRAD</a> </div><div class="line"><a name="l01797"></a><span class="lineno"> 1797</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a683661ae75dcb7aef16b9c9bde31517da4c5d06b02c97731aaa976179c62dcf76"><div class="ttname"><a href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da4c5d06b02c97731aaa976179c62dcf76">arm_compute::ConvolutionMethod::DIRECT</a></div><div class="ttdoc">Direct convolution. </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a683661ae75dcb7aef16b9c9bde31517da9d024a5762b3a992dec7eb3c49d17ae8"><div class="ttname"><a href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da9d024a5762b3a992dec7eb3c49d17ae8">arm_compute::ConvolutionMethod::WINOGRAD</a></div><div class="ttdoc">Convolution using Winograd. </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a683661ae75dcb7aef16b9c9bde31517da5174aac3927faa9ee34befb7fc87a9e3"><div class="ttname"><a href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da5174aac3927faa9ee34befb7fc87a9e3">arm_compute::ConvolutionMethod::GEMM</a></div><div class="ttdoc">Convolution using GEMM. </div></div>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00129">129</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="l00130"></a><span class="lineno"> 130</span> {</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <a class="code" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da5174aac3927faa9ee34befb7fc87a9e3">GEMM</a>, </div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <a class="code" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da4c5d06b02c97731aaa976179c62dcf76">DIRECT</a>, </div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <a class="code" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da9d024a5762b3a992dec7eb3c49d17ae8">WINOGRAD</a> </div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a683661ae75dcb7aef16b9c9bde31517da4c5d06b02c97731aaa976179c62dcf76"><div class="ttname"><a href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da4c5d06b02c97731aaa976179c62dcf76">arm_compute::ConvolutionMethod::DIRECT</a></div><div class="ttdoc">Direct convolution.</div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a683661ae75dcb7aef16b9c9bde31517da9d024a5762b3a992dec7eb3c49d17ae8"><div class="ttname"><a href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da9d024a5762b3a992dec7eb3c49d17ae8">arm_compute::ConvolutionMethod::WINOGRAD</a></div><div class="ttdoc">Convolution using Winograd.</div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a683661ae75dcb7aef16b9c9bde31517da5174aac3927faa9ee34befb7fc87a9e3"><div class="ttname"><a href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da5174aac3927faa9ee34befb7fc87a9e3">arm_compute::ConvolutionMethod::GEMM</a></div><div class="ttdoc">Convolution using GEMM.</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -6608,9 +7258,9 @@
</table>
<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00111">111</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="l00112"></a><span class="lineno"> 112</span> {</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <a class="code" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">NCHW</a>, </div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <a class="code" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">NHWC</a> </div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f"><div class="ttname"><a href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">arm_compute::DataLayout::NCHW</a></div><div class="ttdoc">Num samples, channels, height, width. </div></div>
+<div class="fragment"><div class="line"><a name="l00112"></a><span class="lineno"> 112</span> {</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <a class="code" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">NCHW</a>, </div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <a class="code" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">NHWC</a> </div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f"><div class="ttname"><a href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">arm_compute::DataLayout::NCHW</a></div><div class="ttdoc">Num samples, channels, height, width.</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_ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51"><div class="ttname"><a href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">arm_compute::DataLayout::NHWC</a></div><div class="ttdoc">Num samples, height, width, channels. </div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51"><div class="ttname"><a href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">arm_compute::DataLayout::NHWC</a></div><div class="ttdoc">Num samples, height, width, channels.</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -6648,10 +7298,10 @@
</table>
<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00120">120</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="l00121"></a><span class="lineno"> 121</span> {</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <a class="code" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02af52e9c50a060add65a035429b2a22229">CHANNEL</a>, </div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <a class="code" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02ad770ba3ce18fa409965dfdf5e7c348e6">HEIGHT</a>, </div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <a class="code" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195">WIDTH</a>, </div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <a class="code" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a628bcf7e10fc1c2a984f379a1ec3393a">BATCHES</a> </div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a74ce3f7420453d3446218ff3b7453e02ad770ba3ce18fa409965dfdf5e7c348e6"><div class="ttname"><a href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02ad770ba3ce18fa409965dfdf5e7c348e6">arm_compute::DataLayoutDimension::HEIGHT</a></div><div class="ttdoc">height </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a74ce3f7420453d3446218ff3b7453e02af52e9c50a060add65a035429b2a22229"><div class="ttname"><a href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02af52e9c50a060add65a035429b2a22229">arm_compute::DataLayoutDimension::CHANNEL</a></div><div class="ttdoc">channel </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a74ce3f7420453d3446218ff3b7453e02a628bcf7e10fc1c2a984f379a1ec3393a"><div class="ttname"><a href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a628bcf7e10fc1c2a984f379a1ec3393a">arm_compute::DataLayoutDimension::BATCHES</a></div><div class="ttdoc">batches </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195"><div class="ttname"><a href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195">arm_compute::DataLayoutDimension::WIDTH</a></div><div class="ttdoc">width </div></div>
+<div class="fragment"><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>  <a class="code" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02af52e9c50a060add65a035429b2a22229">CHANNEL</a>, </div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <a class="code" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02ad770ba3ce18fa409965dfdf5e7c348e6">HEIGHT</a>, </div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <a class="code" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195">WIDTH</a>, </div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <a class="code" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a628bcf7e10fc1c2a984f379a1ec3393a">BATCHES</a> </div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a74ce3f7420453d3446218ff3b7453e02ad770ba3ce18fa409965dfdf5e7c348e6"><div class="ttname"><a href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02ad770ba3ce18fa409965dfdf5e7c348e6">arm_compute::DataLayoutDimension::HEIGHT</a></div><div class="ttdoc">height</div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a74ce3f7420453d3446218ff3b7453e02af52e9c50a060add65a035429b2a22229"><div class="ttname"><a href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02af52e9c50a060add65a035429b2a22229">arm_compute::DataLayoutDimension::CHANNEL</a></div><div class="ttdoc">channel</div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a74ce3f7420453d3446218ff3b7453e02a628bcf7e10fc1c2a984f379a1ec3393a"><div class="ttname"><a href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a628bcf7e10fc1c2a984f379a1ec3393a">arm_compute::DataLayoutDimension::BATCHES</a></div><div class="ttdoc">batches</div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195"><div class="ttname"><a href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195">arm_compute::DataLayoutDimension::WIDTH</a></div><div class="ttdoc">width</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -6708,20 +7358,60 @@
</table>
<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00074">74</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="l00075"></a><span class="lineno"> 75</span> {</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, </div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>, </div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, </div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, </div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, </div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, </div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</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_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 class="ttdoc">signed 64-bit number </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 class="ttdoc">size_t </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 class="ttdoc">quantized, asymmetric fixed-point 8-bit number </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="fragment"><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>  <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, </div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>, </div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, </div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, </div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, </div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, </div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</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_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 class="ttdoc">signed 64-bit number</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 class="ttdoc">size_t</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 class="ttdoc">quantized, asymmetric fixed-point 8-bit number</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_ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">arm_compute::DataType::F64</a></div><div class="ttdoc">64-bit floating-point number </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">arm_compute::DataType::U64</a></div><div class="ttdoc">unsigned 64-bit number </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">arm_compute::DataType::S8</a></div><div class="ttdoc">signed 8-bit number </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 class="ttdoc">64-bit floating-point number</div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">arm_compute::DataType::U64</a></div><div class="ttdoc">unsigned 64-bit number</div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">arm_compute::DataType::S8</a></div><div class="ttdoc">signed 8-bit number</div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="ad818ba0ecd4a87d8f1bb0d5b17f07830"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad818ba0ecd4a87d8f1bb0d5b17f07830">◆ </a></span>DetectionOutputLayerCodeType</h2>
+
+<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#ad818ba0ecd4a87d8f1bb0d5b17f07830">DetectionOutputLayerCodeType</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 Detection Output code types. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ad818ba0ecd4a87d8f1bb0d5b17f07830ac411afd31d32cec664d372acc12f404a"></a>CORNER </td><td class="fielddoc"><p>Use box corners. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="ad818ba0ecd4a87d8f1bb0d5b17f07830a1150a8d7752b01d30d91fe18fe9d8a54"></a>CENTER_SIZE </td><td class="fielddoc"><p>Use box centers and size. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="ad818ba0ecd4a87d8f1bb0d5b17f07830afbc6c35854fe02eb9e792f897399c42a"></a>CORNER_SIZE </td><td class="fielddoc"><p>Use box centers and size. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="ad818ba0ecd4a87d8f1bb0d5b17f07830ae65a115db9b4bcc4ae0aa0b989089d16"></a>TF_CENTER </td><td class="fielddoc"><p>Use box centers and size but flip x and y co-ordinates. </p>
+</td></tr>
+</table>
+
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00993">993</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="l00994"></a><span class="lineno"> 994</span> {</div><div class="line"><a name="l00995"></a><span class="lineno"> 995</span>  <a class="code" href="namespacearm__compute.xhtml#ad818ba0ecd4a87d8f1bb0d5b17f07830ac411afd31d32cec664d372acc12f404a">CORNER</a>, </div><div class="line"><a name="l00996"></a><span class="lineno"> 996</span>  <a class="code" href="namespacearm__compute.xhtml#ad818ba0ecd4a87d8f1bb0d5b17f07830a1150a8d7752b01d30d91fe18fe9d8a54">CENTER_SIZE</a>, </div><div class="line"><a name="l00997"></a><span class="lineno"> 997</span>  <a class="code" href="namespacearm__compute.xhtml#ad818ba0ecd4a87d8f1bb0d5b17f07830afbc6c35854fe02eb9e792f897399c42a">CORNER_SIZE</a>, </div><div class="line"><a name="l00998"></a><span class="lineno"> 998</span>  <a class="code" href="namespacearm__compute.xhtml#ad818ba0ecd4a87d8f1bb0d5b17f07830ae65a115db9b4bcc4ae0aa0b989089d16">TF_CENTER</a> </div><div class="line"><a name="l00999"></a><span class="lineno"> 999</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_ad818ba0ecd4a87d8f1bb0d5b17f07830a1150a8d7752b01d30d91fe18fe9d8a54"><div class="ttname"><a href="namespacearm__compute.xhtml#ad818ba0ecd4a87d8f1bb0d5b17f07830a1150a8d7752b01d30d91fe18fe9d8a54">arm_compute::DetectionOutputLayerCodeType::CENTER_SIZE</a></div><div class="ttdoc">Use box centers and size.</div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ad818ba0ecd4a87d8f1bb0d5b17f07830ac411afd31d32cec664d372acc12f404a"><div class="ttname"><a href="namespacearm__compute.xhtml#ad818ba0ecd4a87d8f1bb0d5b17f07830ac411afd31d32cec664d372acc12f404a">arm_compute::DetectionOutputLayerCodeType::CORNER</a></div><div class="ttdoc">Use box corners.</div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ad818ba0ecd4a87d8f1bb0d5b17f07830ae65a115db9b4bcc4ae0aa0b989089d16"><div class="ttname"><a href="namespacearm__compute.xhtml#ad818ba0ecd4a87d8f1bb0d5b17f07830ae65a115db9b4bcc4ae0aa0b989089d16">arm_compute::DetectionOutputLayerCodeType::TF_CENTER</a></div><div class="ttdoc">Use box centers and size but flip x and y co-ordinates.</div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ad818ba0ecd4a87d8f1bb0d5b17f07830afbc6c35854fe02eb9e792f897399c42a"><div class="ttname"><a href="namespacearm__compute.xhtml#ad818ba0ecd4a87d8f1bb0d5b17f07830afbc6c35854fe02eb9e792f897399c42a">arm_compute::DetectionOutputLayerCodeType::CORNER_SIZE</a></div><div class="ttdoc">Use box centers and size.</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -6754,9 +7444,43 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00566">566</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="l00567"></a><span class="lineno"> 567</span> {</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>  <a class="code" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe">FLOOR</a>, </div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>  <a class="code" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">CEIL</a> </div><div class="line"><a name="l00570"></a><span class="lineno"> 570</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>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00602">602</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="l00603"></a><span class="lineno"> 603</span> {</div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>  <a class="code" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe">FLOOR</a>, </div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>  <a class="code" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">CEIL</a> </div><div class="line"><a name="l00606"></a><span class="lineno"> 606</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 id="a5dad01b7eab116403241313417e0936d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5dad01b7eab116403241313417e0936d">◆ </a></span>ElementWiseUnary</h2>
+
+<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#a5dad01b7eab116403241313417e0936d">ElementWiseUnary</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 element wise unary operations. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a5dad01b7eab116403241313417e0936da66bac724670f51e77f3688d33ca0d781"></a>RSQRT </td><td class="fielddoc"><p>Reverse square root. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a5dad01b7eab116403241313417e0936da8c670f8c37b95e1ed14a0ce414b049c7"></a>EXP </td><td class="fielddoc"><p>Exponential. </p>
+</td></tr>
+</table>
+
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00561">561</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="l00562"></a><span class="lineno"> 562</span> {</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>  <a class="code" href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936da66bac724670f51e77f3688d33ca0d781">RSQRT</a>, </div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>  <a class="code" href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936da8c670f8c37b95e1ed14a0ce414b049c7">EXP</a>, </div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a5dad01b7eab116403241313417e0936da8c670f8c37b95e1ed14a0ce414b049c7"><div class="ttname"><a href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936da8c670f8c37b95e1ed14a0ce414b049c7">arm_compute::ElementWiseUnary::EXP</a></div><div class="ttdoc">Exponential.</div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a5dad01b7eab116403241313417e0936da66bac724670f51e77f3688d33ca0d781"><div class="ttname"><a href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936da66bac724670f51e77f3688d33ca0d781">arm_compute::ElementWiseUnary::RSQRT</a></div><div class="ttdoc">Reverse square root.</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -6791,9 +7515,9 @@
</table>
<p class="definition">Definition at line <a class="el" href="_error_8h_source.xhtml#l00044">44</a> of file <a class="el" href="_error_8h_source.xhtml">Error.h</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="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fae0aa021e21dddbd6d8cecec71e9cf564">OK</a>, </div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <a class="code" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa62be47fdd89da032cf78dfce82239579">RUNTIME_ERROR</a>, </div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <a class="code" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa0ffe8be9137815d1266845a195c053c7">UNSUPPORTED_EXTENSION_USE</a> </div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a59e56af19e754a6aa26a612ebf91d05fa0ffe8be9137815d1266845a195c053c7"><div class="ttname"><a href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa0ffe8be9137815d1266845a195c053c7">arm_compute::ErrorCode::UNSUPPORTED_EXTENSION_USE</a></div><div class="ttdoc">Unsupported extension used. </div></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 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="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fae0aa021e21dddbd6d8cecec71e9cf564">OK</a>, </div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <a class="code" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa62be47fdd89da032cf78dfce82239579">RUNTIME_ERROR</a>, </div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <a class="code" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa0ffe8be9137815d1266845a195c053c7">UNSUPPORTED_EXTENSION_USE</a> </div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a59e56af19e754a6aa26a612ebf91d05fa0ffe8be9137815d1266845a195c053c7"><div class="ttname"><a href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa0ffe8be9137815d1266845a195c053c7">arm_compute::ErrorCode::UNSUPPORTED_EXTENSION_USE</a></div><div class="ttdoc">Unsupported extension used.</div></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>
@@ -6817,7 +7541,7 @@
</table>
</div><div class="memdoc">
-<p><a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a> colour formats. </p>
+<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"><a id="ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN </td><td class="fielddoc"><p>Unknown image format. </p>
</td></tr>
@@ -6856,23 +7580,23 @@
</table>
<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00052">52</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="l00053"></a><span class="lineno"> 53</span> {</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, </div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, </div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, </div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, </div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, </div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, </div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, </div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>, </div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, </div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, </div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, </div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>, </div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, </div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, </div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, </div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a> </div><div class="line"><a name="l00071"></a><span class="lineno"> 71</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="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="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, </div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, </div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, </div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, </div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, </div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, </div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, </div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>, </div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, </div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, </div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, </div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>, </div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, </div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, </div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, </div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a> </div><div class="line"><a name="l00071"></a><span class="lineno"> 71</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">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 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>
@@ -6908,11 +7632,11 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01580">1580</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="l01581"></a><span class="lineno"> 1581</span> {</div><div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>  <a class="code" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864ab50339a10e1de285ac99d4c3990b8693">NONE</a>, </div><div class="line"><a name="l01583"></a><span class="lineno"> 1583</span>  <a class="code" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864a079e2ddc95b344b5cb0188bed9a80d8b">QUANTIZE_DOWN</a>, </div><div class="line"><a name="l01584"></a><span class="lineno"> 1584</span>  <a class="code" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864ab300cae200f67712c1eb9234e28158ca">QUANTIZE_DOWN_FIXEDPOINT</a>, </div><div class="line"><a name="l01585"></a><span class="lineno"> 1585</span>  <a class="code" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864aad664ac5008f135e38afeb391e524f9c">QUANTIZE_DOWN_FLOAT</a> </div><div class="line"><a name="l01586"></a><span class="lineno"> 1586</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a5558e2cc22f7f4771653d992c8ad8864ab300cae200f67712c1eb9234e28158ca"><div class="ttname"><a href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864ab300cae200f67712c1eb9234e28158ca">arm_compute::GEMMLowpOutputStageType::QUANTIZE_DOWN_FIXEDPOINT</a></div><div class="ttdoc">Quantize to uint8 using a fixed point multiplication. </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a5558e2cc22f7f4771653d992c8ad8864ab50339a10e1de285ac99d4c3990b8693"><div class="ttname"><a href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864ab50339a10e1de285ac99d4c3990b8693">arm_compute::GEMMLowpOutputStageType::NONE</a></div><div class="ttdoc">No quantization to uint8. </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a5558e2cc22f7f4771653d992c8ad8864aad664ac5008f135e38afeb391e524f9c"><div class="ttname"><a href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864aad664ac5008f135e38afeb391e524f9c">arm_compute::GEMMLowpOutputStageType::QUANTIZE_DOWN_FLOAT</a></div><div class="ttdoc">Quantize to uint8 using a floating point multiplication. </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a5558e2cc22f7f4771653d992c8ad8864a079e2ddc95b344b5cb0188bed9a80d8b"><div class="ttname"><a href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864a079e2ddc95b344b5cb0188bed9a80d8b">arm_compute::GEMMLowpOutputStageType::QUANTIZE_DOWN</a></div><div class="ttdoc">Quantize to uint8 using an integer multiplication. </div></div>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01755">1755</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="l01756"></a><span class="lineno"> 1756</span> {</div><div class="line"><a name="l01757"></a><span class="lineno"> 1757</span>  <a class="code" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864ab50339a10e1de285ac99d4c3990b8693">NONE</a>, </div><div class="line"><a name="l01758"></a><span class="lineno"> 1758</span>  <a class="code" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864a079e2ddc95b344b5cb0188bed9a80d8b">QUANTIZE_DOWN</a>, </div><div class="line"><a name="l01759"></a><span class="lineno"> 1759</span>  <a class="code" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864ab300cae200f67712c1eb9234e28158ca">QUANTIZE_DOWN_FIXEDPOINT</a>, </div><div class="line"><a name="l01760"></a><span class="lineno"> 1760</span>  <a class="code" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864aad664ac5008f135e38afeb391e524f9c">QUANTIZE_DOWN_FLOAT</a> </div><div class="line"><a name="l01761"></a><span class="lineno"> 1761</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a5558e2cc22f7f4771653d992c8ad8864ab300cae200f67712c1eb9234e28158ca"><div class="ttname"><a href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864ab300cae200f67712c1eb9234e28158ca">arm_compute::GEMMLowpOutputStageType::QUANTIZE_DOWN_FIXEDPOINT</a></div><div class="ttdoc">Quantize to uint8 using a fixed point multiplication.</div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a5558e2cc22f7f4771653d992c8ad8864ab50339a10e1de285ac99d4c3990b8693"><div class="ttname"><a href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864ab50339a10e1de285ac99d4c3990b8693">arm_compute::GEMMLowpOutputStageType::NONE</a></div><div class="ttdoc">No quantization to uint8.</div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a5558e2cc22f7f4771653d992c8ad8864aad664ac5008f135e38afeb391e524f9c"><div class="ttname"><a href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864aad664ac5008f135e38afeb391e524f9c">arm_compute::GEMMLowpOutputStageType::QUANTIZE_DOWN_FLOAT</a></div><div class="ttdoc">Quantize to uint8 using a floating point multiplication.</div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a5558e2cc22f7f4771653d992c8ad8864a079e2ddc95b344b5cb0188bed9a80d8b"><div class="ttname"><a href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864a079e2ddc95b344b5cb0188bed9a80d8b">arm_compute::GEMMLowpOutputStageType::QUANTIZE_DOWN</a></div><div class="ttdoc">Quantize to uint8 using an integer multiplication.</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -7005,7 +7729,7 @@
</table>
<p class="definition">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>  GRAD_X, </div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  GRAD_Y, </div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <a class="code" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7a5515a637eda61b978e97adaa5d7629cc">GRAD_XY</a>, </div><div class="line"><a name="l00039"></a><span class="lineno"> 39</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 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>  GRAD_X, </div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  GRAD_Y, </div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <a class="code" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7a5515a637eda61b978e97adaa5d7629cc">GRAD_XY</a>, </div><div class="line"><a name="l00039"></a><span class="lineno"> 39</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>
@@ -7029,7 +7753,7 @@
</table>
</div><div class="memdoc">
-<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>
+<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"><a id="a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5"></a>L2_NORM </td><td class="fielddoc"><p>L2-norm. </p>
</td></tr>
@@ -7039,10 +7763,10 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00540">540</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="l00541"></a><span class="lineno"> 541</span> {</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>  <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5">L2_NORM</a> = 1, </div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">L2HYS_NORM</a> = 2, </div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>  <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa">L1_NORM</a> = 3 </div><div class="line"><a name="l00545"></a><span class="lineno"> 545</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>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00576">576</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="l00577"></a><span class="lineno"> 577</span> {</div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>  <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5">L2_NORM</a> = 1, </div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>  <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">L2HYS_NORM</a> = 2, </div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>  <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa">L1_NORM</a> = 3 </div><div class="line"><a name="l00581"></a><span class="lineno"> 581</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 -->
</div>
</div>
@@ -7076,9 +7800,9 @@
</td></tr>
</table>
-<p class="definition">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#a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2">NEAREST_NEIGHBOR</a>, </div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>, </div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>, </div><div class="line"><a name="l00396"></a><span class="lineno"> 396</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>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00410">410</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="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#a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2">NEAREST_NEIGHBOR</a>, </div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>, </div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>, </div><div class="line"><a name="l00415"></a><span class="lineno"> 415</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>
@@ -7111,9 +7835,9 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00421">421</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="l00422"></a><span class="lineno"> 422</span> {</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  <a class="code" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8">L1NORM</a>, </div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  <a class="code" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131">L2NORM</a> </div><div class="line"><a name="l00425"></a><span class="lineno"> 425</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>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00440">440</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="l00441"></a><span class="lineno"> 441</span> {</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  <a class="code" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8">L1NORM</a>, </div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  <a class="code" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131">L2NORM</a> </div><div class="line"><a name="l00444"></a><span class="lineno"> 444</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>
</div>
@@ -7146,8 +7870,8 @@
</table>
<p class="definition">Definition at line <a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml#l00034">34</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="l00035"></a><span class="lineno"> 35</span> {</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <a class="code" href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74daac354f9e7a5097598cdd933b42fd190e">BLOBS</a>, </div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <a class="code" href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74da465202c26fd7181c6bc9a80648499073">OFFSETS</a> </div><div class="line"><a name="l00038"></a><span class="lineno"> 38</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 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="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74daac354f9e7a5097598cdd933b42fd190e">BLOBS</a>, </div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <a class="code" href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74da465202c26fd7181c6bc9a80648499073">OFFSETS</a> </div><div class="line"><a name="l00038"></a><span class="lineno"> 38</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>
</div>
@@ -7183,11 +7907,11 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00507">507</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="l00508"></a><span class="lineno"> 508</span> {</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5">BOX</a>, </div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2">CROSS</a>, </div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">DISK</a>, </div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>  <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb">OTHER</a> </div><div class="line"><a name="l00513"></a><span class="lineno"> 513</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>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00522">522</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="l00523"></a><span class="lineno"> 523</span> {</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>  <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5">BOX</a>, </div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2">CROSS</a>, </div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">DISK</a>, </div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb">OTHER</a> </div><div class="line"><a name="l00528"></a><span class="lineno"> 528</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>
</div><!-- fragment -->
</div>
</div>
@@ -7255,10 +7979,10 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00581">581</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="l00582"></a><span class="lineno"> 582</span> {</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>  <a class="code" href="namespacearm__compute.xhtml#a201391f6e13e2a1ac203256a77792718aaac544aacc3615aada24897a215f5046">LINEAR</a>, </div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>  <a class="code" href="namespacearm__compute.xhtml#a201391f6e13e2a1ac203256a77792718a0fceff26ae86a047835cafbb6cadb1b9">GAUSSIAN</a>, </div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>  <a class="code" href="namespacearm__compute.xhtml#a201391f6e13e2a1ac203256a77792718aa87d5006e1de1bfc07d5c56086ad20f1">ORIGINAL</a> </div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a201391f6e13e2a1ac203256a77792718a0fceff26ae86a047835cafbb6cadb1b9"><div class="ttname"><a href="namespacearm__compute.xhtml#a201391f6e13e2a1ac203256a77792718a0fceff26ae86a047835cafbb6cadb1b9">arm_compute::NMSType::GAUSSIAN</a></div><div class="ttdoc">Gaussian NMS. </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a201391f6e13e2a1ac203256a77792718aa87d5006e1de1bfc07d5c56086ad20f1"><div class="ttname"><a href="namespacearm__compute.xhtml#a201391f6e13e2a1ac203256a77792718aa87d5006e1de1bfc07d5c56086ad20f1">arm_compute::NMSType::ORIGINAL</a></div><div class="ttdoc">Original NMS. </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a201391f6e13e2a1ac203256a77792718aaac544aacc3615aada24897a215f5046"><div class="ttname"><a href="namespacearm__compute.xhtml#a201391f6e13e2a1ac203256a77792718aaac544aacc3615aada24897a215f5046">arm_compute::NMSType::LINEAR</a></div><div class="ttdoc">Linear NMS. </div></div>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00617">617</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="l00618"></a><span class="lineno"> 618</span> {</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>  <a class="code" href="namespacearm__compute.xhtml#a201391f6e13e2a1ac203256a77792718aaac544aacc3615aada24897a215f5046">LINEAR</a>, </div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>  <a class="code" href="namespacearm__compute.xhtml#a201391f6e13e2a1ac203256a77792718a0fceff26ae86a047835cafbb6cadb1b9">GAUSSIAN</a>, </div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>  <a class="code" href="namespacearm__compute.xhtml#a201391f6e13e2a1ac203256a77792718aa87d5006e1de1bfc07d5c56086ad20f1">ORIGINAL</a> </div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a201391f6e13e2a1ac203256a77792718a0fceff26ae86a047835cafbb6cadb1b9"><div class="ttname"><a href="namespacearm__compute.xhtml#a201391f6e13e2a1ac203256a77792718a0fceff26ae86a047835cafbb6cadb1b9">arm_compute::NMSType::GAUSSIAN</a></div><div class="ttdoc">Gaussian NMS.</div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a201391f6e13e2a1ac203256a77792718aa87d5006e1de1bfc07d5c56086ad20f1"><div class="ttname"><a href="namespacearm__compute.xhtml#a201391f6e13e2a1ac203256a77792718aa87d5006e1de1bfc07d5c56086ad20f1">arm_compute::NMSType::ORIGINAL</a></div><div class="ttdoc">Original NMS.</div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a201391f6e13e2a1ac203256a77792718aaac544aacc3615aada24897a215f5046"><div class="ttname"><a href="namespacearm__compute.xhtml#a201391f6e13e2a1ac203256a77792718aaac544aacc3615aada24897a215f5046">arm_compute::NMSType::LINEAR</a></div><div class="ttdoc">Linear NMS.</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -7292,10 +8016,10 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00516">516</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="l00516"></a><span class="lineno"> 516</span>  : <span class="keywordtype">unsigned</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>  <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074">MEDIAN</a> = 0, </div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653">MIN</a> = 1, </div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a> = 2, </div><div class="line"><a name="l00521"></a><span class="lineno"> 521</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>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00531">531</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="l00531"></a><span class="lineno"> 531</span>  : <span class="keywordtype">unsigned</span></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>  <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074">MEDIAN</a> = 0, </div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>  <a class="code" href="elementwise__operation_8cl.xhtml#a74e75242132eaabbc1c512488a135926">MIN</a> = 1, </div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  <a class="code" href="elementwise__operation_8cl.xhtml#aacc3ee1a7f283f8ef65cea31f4436a95">MAX</a> = 2, </div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span> };</div><div class="ttc" id="elementwise__operation_8cl_xhtml_a74e75242132eaabbc1c512488a135926"><div class="ttname"><a href="elementwise__operation_8cl.xhtml#a74e75242132eaabbc1c512488a135926">MIN</a></div><div class="ttdeci">#define MIN(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="elementwise__operation_8cl_source.xhtml#l00037">elementwise_operation.cl:37</a></div></div>
+<div class="ttc" id="elementwise__operation_8cl_xhtml_aacc3ee1a7f283f8ef65cea31f4436a95"><div class="ttname"><a href="elementwise__operation_8cl.xhtml#aacc3ee1a7f283f8ef65cea31f4436a95">MAX</a></div><div class="ttdeci">#define MAX(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="elementwise__operation_8cl_source.xhtml#l00036">elementwise_operation.cl:36</a></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 -->
</div>
</div>
@@ -7329,10 +8053,10 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00532">532</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="l00533"></a><span class="lineno"> 533</span> {</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>  <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190">IN_MAP_1D</a>, </div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e">IN_MAP_2D</a>, </div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>  <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5">CROSS_MAP</a> </div><div class="line"><a name="l00537"></a><span class="lineno"> 537</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>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00568">568</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="l00569"></a><span class="lineno"> 569</span> {</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>  <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190">IN_MAP_1D</a>, </div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>  <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e">IN_MAP_2D</a>, </div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>  <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5">CROSS_MAP</a> </div><div class="line"><a name="l00573"></a><span class="lineno"> 573</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 -->
</div>
</div>
@@ -7365,9 +8089,9 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00431">431</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="l00432"></a><span class="lineno"> 432</span> {</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  <a class="code" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72a6898b46a1cde8a1572e2722c44c5ab07">SIGNED</a>, </div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  <a class="code" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054">UNSIGNED</a> </div><div class="line"><a name="l00435"></a><span class="lineno"> 435</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>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00450">450</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="l00451"></a><span class="lineno"> 451</span> {</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>  <a class="code" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72a6898b46a1cde8a1572e2722c44c5ab07">SIGNED</a>, </div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  <a class="code" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054">UNSIGNED</a> </div><div class="line"><a name="l00454"></a><span class="lineno"> 454</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>
</div>
@@ -7401,10 +8125,10 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00573">573</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="l00574"></a><span class="lineno"> 574</span> {</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a>, </div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>  <a class="code" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a">AVG</a>, </div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>  <a class="code" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76">L2</a> </div><div class="line"><a name="l00578"></a><span class="lineno"> 578</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>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00609">609</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="l00610"></a><span class="lineno"> 610</span> {</div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>  <a class="code" href="elementwise__operation_8cl.xhtml#aacc3ee1a7f283f8ef65cea31f4436a95">MAX</a>, </div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>  <a class="code" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a">AVG</a>, </div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>  <a class="code" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76">L2</a> </div><div class="line"><a name="l00614"></a><span class="lineno"> 614</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="elementwise__operation_8cl_xhtml_aacc3ee1a7f283f8ef65cea31f4436a95"><div class="ttname"><a href="elementwise__operation_8cl.xhtml#aacc3ee1a7f283f8ef65cea31f4436a95">MAX</a></div><div class="ttdeci">#define MAX(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="elementwise__operation_8cl_source.xhtml#l00036">elementwise_operation.cl:36</a></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><!-- fragment -->
</div>
</div>
@@ -7430,18 +8154,27 @@
<p>Available reduction operations. </p>
<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64"></a>SUM_SQUARE </td><td class="fielddoc"><p>Sum of squares. </p>
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a5827eb9cb394e74af87f74bd354fb45ba654fed6e9b6c154d04bcaa439e32d0d5"></a>ARG_IDX_MAX </td><td class="fielddoc"><p>Index of the max value. </p>
</td></tr>
-<tr><td class="fieldname"><a id="a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a"></a>SUM </td><td class="fielddoc"><p>Sum. </p>
+<tr><td class="fieldname"><a id="a5827eb9cb394e74af87f74bd354fb45ba39102811589b9a0d7a6aa8721663b4d1"></a>ARG_IDX_MIN </td><td class="fielddoc"><p>Index of the min value. </p>
</td></tr>
<tr><td class="fieldname"><a id="a5827eb9cb394e74af87f74bd354fb45bafc54513dae613e117ffc4169e48bfce5"></a>MEAN_SUM </td><td class="fielddoc"><p>Mean of sum. </p>
</td></tr>
+<tr><td class="fieldname"><a id="a5827eb9cb394e74af87f74bd354fb45bac8074bb318fb85693233e64acc64c1ed"></a>PROD </td><td class="fielddoc"><p>Product. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64"></a>SUM_SQUARE </td><td class="fielddoc"><p>Sum of squares. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a"></a>SUM </td><td class="fielddoc"><p>Sum. </p>
+</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00524">524</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="l00525"></a><span class="lineno"> 525</span> {</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64">SUM_SQUARE</a>, </div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a">SUM</a>, </div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45bafc54513dae613e117ffc4169e48bfce5">MEAN_SUM</a>, </div><div class="line"><a name="l00529"></a><span class="lineno"> 529</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 class="ttc" id="namespacearm__compute_xhtml_a5827eb9cb394e74af87f74bd354fb45bafc54513dae613e117ffc4169e48bfce5"><div class="ttname"><a href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45bafc54513dae613e117ffc4169e48bfce5">arm_compute::ReductionOperation::MEAN_SUM</a></div><div class="ttdoc">Mean of sum. </div></div>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00539">539</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="l00540"></a><span class="lineno"> 540</span> {</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>  <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba654fed6e9b6c154d04bcaa439e32d0d5">ARG_IDX_MAX</a>, </div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>  <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba39102811589b9a0d7a6aa8721663b4d1">ARG_IDX_MIN</a>, </div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45bafc54513dae613e117ffc4169e48bfce5">MEAN_SUM</a>, </div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>  <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45bac8074bb318fb85693233e64acc64c1ed">PROD</a>, </div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>  <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64">SUM_SQUARE</a>, </div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>  <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a">SUM</a> </div><div class="line"><a name="l00547"></a><span class="lineno"> 547</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_a5827eb9cb394e74af87f74bd354fb45ba39102811589b9a0d7a6aa8721663b4d1"><div class="ttname"><a href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba39102811589b9a0d7a6aa8721663b4d1">arm_compute::ReductionOperation::ARG_IDX_MIN</a></div><div class="ttdoc">Index of the min value.</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 class="ttc" id="namespacearm__compute_xhtml_a5827eb9cb394e74af87f74bd354fb45ba654fed6e9b6c154d04bcaa439e32d0d5"><div class="ttname"><a href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba654fed6e9b6c154d04bcaa439e32d0d5">arm_compute::ReductionOperation::ARG_IDX_MAX</a></div><div class="ttdoc">Index of the max value.</div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a5827eb9cb394e74af87f74bd354fb45bac8074bb318fb85693233e64acc64c1ed"><div class="ttname"><a href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45bac8074bb318fb85693233e64acc64c1ed">arm_compute::ReductionOperation::PROD</a></div><div class="ttdoc">Product.</div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a5827eb9cb394e74af87f74bd354fb45bafc54513dae613e117ffc4169e48bfce5"><div class="ttname"><a href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45bafc54513dae613e117ffc4169e48bfce5">arm_compute::ReductionOperation::MEAN_SUM</a></div><div class="ttdoc">Mean of sum.</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -7467,7 +8200,7 @@
<p>Rounding method. </p>
<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="add6426cbf2e057a195846d4ba09a50bea5631ad8e27788edfca7e13535d862c06"></a>TO_ZERO </td><td class="fielddoc"><p>Truncates the least significand values that are lost in operations. </p>
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="add6426cbf2e057a195846d4ba09a50bea5631ad8e27788edfca7e13535d862c06"></a>TO_ZERO </td><td class="fielddoc"><p>Truncates the least significant values that are lost in operations. </p>
</td></tr>
<tr><td class="fieldname"><a id="add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95"></a>TO_NEAREST_UP </td><td class="fielddoc"><p>Rounds to nearest value; half rounds away from zero. </p>
</td></tr>
@@ -7476,9 +8209,9 @@
</table>
<p class="definition">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 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 significant values that are lost in operations.</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -7511,8 +8244,8 @@
</table>
<p class="definition">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 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>
@@ -7546,10 +8279,10 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00413">413</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="l00414"></a><span class="lineno"> 414</span> {</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b">TERM_CRITERIA_EPSILON</a>, </div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd">TERM_CRITERIA_ITERATIONS</a>, </div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29">TERM_CRITERIA_BOTH</a> </div><div class="line"><a name="l00418"></a><span class="lineno"> 418</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 class="ttdoc">Terminate when within epsilon of a threshold. </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 class="ttdoc">Terminate after a maximum number of iterations. </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 class="ttdoc">Terminate on whichever of the other conditions occurs first. </div></div>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00432">432</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="l00433"></a><span class="lineno"> 433</span> {</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b">TERM_CRITERIA_EPSILON</a>, </div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd">TERM_CRITERIA_ITERATIONS</a>, </div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29">TERM_CRITERIA_BOTH</a> </div><div class="line"><a name="l00437"></a><span class="lineno"> 437</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 class="ttdoc">Terminate when within epsilon of a threshold.</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 class="ttdoc">Terminate after a maximum number of iterations.</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 class="ttdoc">Terminate on whichever of the other conditions occurs first.</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -7581,9 +8314,9 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00406">406</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="l00407"></a><span class="lineno"> 407</span> {</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  <a class="code" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a98ad0e8750ae10ad556ed7a62affb452">BINARY</a>, </div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  <a class="code" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2">RANGE</a> </div><div class="line"><a name="l00410"></a><span class="lineno"> 410</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>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00425">425</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="l00426"></a><span class="lineno"> 426</span> {</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  <a class="code" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a98ad0e8750ae10ad556ed7a62affb452">BINARY</a>, </div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  <a class="code" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2">RANGE</a> </div><div class="line"><a name="l00429"></a><span class="lineno"> 429</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>
</div>
@@ -7640,12 +8373,13 @@
<dl class="section return"><dt>Returns</dt><dd>Largest value smaller than <code>available</code> that is a multiple of <code>step</code> </dd></dl>
<p class="definition">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 class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">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>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a75b73e17c4ebe901e44af3b2b9846ab3">step</a> <= 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 - <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a75b73e17c4ebe901e44af3b2b9846ab3">step</a> * ((required - available + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a75b73e17c4ebe901e44af3b2b9846ab3">step</a> - 1) / <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a75b73e17c4ebe901e44af3b2b9846ab3">step</a>);</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#l00337">Error.h:337</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a75b73e17c4ebe901e44af3b2b9846ab3"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a75b73e17c4ebe901e44af3b2b9846ab3">arm_compute::test::validation::step</a></div><div class="ttdeci">const int step</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_select_8cpp_source.xhtml#l00172">Select.cpp:172</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, and <a class="el" href="_c_l_2_select_8cpp_source.xhtml#l00172">arm_compute::test::validation::step</a>.</p>
<p class="reference">Referenced by <a class="el" href="_access_window_transpose_8cpp_source.xhtml#l00089">AccessWindowTranspose::update_window_if_needed()</a>, and <a class="el" href="_i_access_window_8cpp_source.xhtml#l00097">AccessWindowRectangle::update_window_if_needed()</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#l00337">Error.h:337</a></div></div>
-</div><!-- fragment -->
+
</div>
</div>
<a id="add7f7487c235331a6518dd16ad1e3b38"></a>
@@ -7684,10 +8418,10 @@
<p>Adjust tensor shape size if width or height are odd for a given multi-planar format. </p>
<p>No modification is done for other formats.</p>
-<dl class="section note"><dt>Note</dt><dd>Adding here a few links discussing the issue of odd size and sharing the same solution: Android Source: <a href="https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/graphics/java/android/graphics/YuvImage.java">https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/graphics/java/android/graphics/YuvImage.java</a> WebM: <a href="https://groups.google.com/a/webmproject.org/forum/#!topic/webm-discuss/LaCKpqiDTXM">https://groups.google.com/a/webmproject.org/forum/#!topic/webm-discuss/LaCKpqiDTXM</a> libYUV: <a href="https://bugs.chromium.org/p/libyuv/issues/detail?id=198&can=1&q=odd%20width">https://bugs.chromium.org/p/libyuv/issues/detail?id=198&can=1&q=odd%20width</a> YUVPlayer: <a href="https://sourceforge.net/p/raw-yuvplayer/bugs/1/">https://sourceforge.net/p/raw-yuvplayer/bugs/1/</a></dd></dl>
+<dl class="section note"><dt>Note</dt><dd>Adding here a few links discussing the issue of odd size and sharing the same solution: <a href="https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/graphics/java/android/graphics/YuvImage.java">Android Source</a> <a href="https://groups.google.com/a/webmproject.org/forum/#!topic/webm-discuss/LaCKpqiDTXM">WebM</a> <a href="https://bugs.chromium.org/p/libyuv/issues/detail?id=198&amp;can=1&amp;q=odd%20width">libYUV</a> <a href="https://sourceforge.net/p/raw-yuvplayer/bugs/1/">YUVPlayer</a> *</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramdir">[in,out]</td><td class="paramname">shape</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> shape of 2D size </td></tr>
+ <tr><td class="paramdir">[in,out]</td><td class="paramname">shape</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface.">Tensor</a> shape of 2D size </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Format of the tensor</td></tr>
</table>
</dd>
@@ -7695,15 +8429,15 @@
<dl class="section return"><dt>Returns</dt><dd>The adjusted tensor shape. </dd></dl>
<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00647">647</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
-
-<p class="reference">References <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00542">has_format_horizontal_subsampling()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00553">has_format_vertical_subsampling()</a>, <a class="el" href="_tensor_shape_8h_source.xhtml#l00078">TensorShape::set()</a>, and <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_validate_8h_source.xhtml#l00303">error_on_tensors_not_even()</a>, <a class="el" href="_c_l_multi_image_8cpp_source.xhtml#l00048">CLMultiImage::init_auto_padding()</a>, and <a class="el" href="_multi_image_8cpp_source.xhtml#l00048">MultiImage::init_auto_padding()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00648"></a><span class="lineno"> 648</span> {</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>  TensorShape output{ <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a> };</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span> </div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>  <span class="comment">// Force width to be even for formats which require subsampling of the U and V channels</span></div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>  <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute.xhtml#aa2f22cc01532e0236e438324310fdb94">has_format_horizontal_subsampling</a>(format))</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>  output.set(0, output.x() & ~1<a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>);</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</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="comment">// Force height to be even for formats which require subsampling of the U and V channels</span></div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>  <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute.xhtml#a95358b677c5c17f5cc1e369e4a27e2c2">has_format_vertical_subsampling</a>(format))</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>  output.set(1, output.y() & ~1<a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>);</div><div class="line"><a name="l00661"></a><span class="lineno"> 661</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>  <span class="keywordflow">return</span> output;</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</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_arithmetic_division_8cpp_source.xhtml#l00096">ArithmeticDivision.cpp:96</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a95358b677c5c17f5cc1e369e4a27e2c2"><div class="ttname"><a href="namespacearm__compute.xhtml#a95358b677c5c17f5cc1e369e4a27e2c2">arm_compute::has_format_vertical_subsampling</a></div><div class="ttdeci">bool has_format_vertical_subsampling(Format format)</div><div class="ttdoc">Return true if the given format has vertical subsampling. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00553">Utils.h:553</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">arm_compute::Channel::U</a></div><div class="ttdoc">Cb/U channel. </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_aa2f22cc01532e0236e438324310fdb94"><div class="ttname"><a href="namespacearm__compute.xhtml#aa2f22cc01532e0236e438324310fdb94">arm_compute::has_format_horizontal_subsampling</a></div><div class="ttdeci">bool has_format_horizontal_subsampling(Format format)</div><div class="ttdoc">Return true if the given format has horizontal subsampling. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00542">Utils.h:542</a></div></div>
+<div class="fragment"><div class="line"><a name="l00648"></a><span class="lineno"> 648</span> {</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>  TensorShape output{ <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a> };</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span> </div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>  <span class="comment">// Force width to be even for formats which require subsampling of the U and V channels</span></div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>  <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute.xhtml#aa2f22cc01532e0236e438324310fdb94">has_format_horizontal_subsampling</a>(format))</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>  output.set(0, output.x() & ~1<a class="code" href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">U</a>);</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</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="comment">// Force height to be even for formats which require subsampling of the U and V channels</span></div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>  <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute.xhtml#a95358b677c5c17f5cc1e369e4a27e2c2">has_format_vertical_subsampling</a>(format))</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>  output.set(1, output.y() & ~1<a class="code" href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">U</a>);</div><div class="line"><a name="l00661"></a><span class="lineno"> 661</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>  <span class="keywordflow">return</span> output;</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</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_absolute_difference_8cpp_source.xhtml#l00097">AbsoluteDifference.cpp:97</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a95358b677c5c17f5cc1e369e4a27e2c2"><div class="ttname"><a href="namespacearm__compute.xhtml#a95358b677c5c17f5cc1e369e4a27e2c2">arm_compute::has_format_vertical_subsampling</a></div><div class="ttdeci">bool has_format_vertical_subsampling(Format format)</div><div class="ttdoc">Return true if the given format has vertical subsampling.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00553">Utils.h:553</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1utils_1_1cast_xhtml_a2ea3d1fc01a3a442900249ca182ffa5e"><div class="ttname"><a href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">arm_compute::utils::cast::U</a></div><div class="ttdeci">U</div><div class="ttdef"><b>Definition:</b> <a href="_saturate_cast_8h_source.xhtml#l00057">SaturateCast.h:57</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_aa2f22cc01532e0236e438324310fdb94"><div class="ttname"><a href="namespacearm__compute.xhtml#aa2f22cc01532e0236e438324310fdb94">arm_compute::has_format_horizontal_subsampling</a></div><div class="ttdeci">bool has_format_horizontal_subsampling(Format format)</div><div class="ttdoc">Return true if the given format has horizontal subsampling.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00542">Utils.h:542</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00542">has_format_horizontal_subsampling()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00553">has_format_vertical_subsampling()</a>, and <a class="el" href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00097">arm_compute::test::validation::shape</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_validate_8h_source.xhtml#l00303">error_on_tensors_not_even()</a>.</p>
+
</div>
</div>
<a id="ab16fcfbfc3ee6dbc0c112f0bc9b3d9c2"></a>
@@ -7758,12 +8492,13 @@
<dl class="section return"><dt>Returns</dt><dd>Largest value smaller than <code>available</code> that is a multiple of <code>step</code> </dd></dl>
<p class="definition">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 class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">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>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a75b73e17c4ebe901e44af3b2b9846ab3">step</a> <= 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 + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a75b73e17c4ebe901e44af3b2b9846ab3">step</a> * ((available - required + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a75b73e17c4ebe901e44af3b2b9846ab3">step</a> - 1) / <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a75b73e17c4ebe901e44af3b2b9846ab3">step</a>);</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#l00337">Error.h:337</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a75b73e17c4ebe901e44af3b2b9846ab3"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a75b73e17c4ebe901e44af3b2b9846ab3">arm_compute::test::validation::step</a></div><div class="ttdeci">const int step</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_select_8cpp_source.xhtml#l00172">Select.cpp:172</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, and <a class="el" href="_c_l_2_select_8cpp_source.xhtml#l00172">arm_compute::test::validation::step</a>.</p>
<p class="reference">Referenced by <a class="el" href="_access_window_transpose_8cpp_source.xhtml#l00089">AccessWindowTranspose::update_window_if_needed()</a>, and <a class="el" href="_i_access_window_8cpp_source.xhtml#l00097">AccessWindowRectangle::update_window_if_needed()</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#l00337">Error.h:337</a></div></div>
-</div><!-- fragment -->
+
</div>
</div>
<a id="a0019d1de2500c73f16b673d8a883a767"></a>
@@ -7791,13 +8526,13 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if the extension is supported </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00135">135</a> of file <a class="el" href="_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00183">device_supports_extension()</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l00895">CLKernelLibrary::create_kernel()</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="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a6c4a5ca34ebb51d4e2e119a110e4c8f0">device_supports_extension</a>(device, <span class="stringliteral">"cl_arm_non_uniform_work_group_size"</span>);</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a6c4a5ca34ebb51d4e2e119a110e4c8f0"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c4a5ca34ebb51d4e2e119a110e4c8f0">arm_compute::device_supports_extension</a></div><div class="ttdeci">bool device_supports_extension(const cl::Device &device, const char *extension_name)</div><div class="ttdoc">Helper function to check whether a given extension is supported. </div><div class="ttdef"><b>Definition:</b> <a href="_c_l_helpers_8cpp_source.xhtml#l00183">CLHelpers.cpp:183</a></div></div>
+<p class="definition">Definition at line <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00135">135</a> of file <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</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="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a6c4a5ca34ebb51d4e2e119a110e4c8f0">device_supports_extension</a>(device, <span class="stringliteral">"cl_arm_non_uniform_work_group_size"</span>);</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a6c4a5ca34ebb51d4e2e119a110e4c8f0"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c4a5ca34ebb51d4e2e119a110e4c8f0">arm_compute::device_supports_extension</a></div><div class="ttdeci">bool device_supports_extension(const cl::Device &device, const char *extension_name)</div><div class="ttdoc">Helper function to check whether a given extension is supported.</div><div class="ttdef"><b>Definition:</b> <a href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00183">CLHelpers.cpp:183</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00183">device_supports_extension()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l00964">CLKernelLibrary::create_kernel()</a>.</p>
+
</div>
</div>
<a id="a47be6fa38308d0003c25b60b7dbc45ce"></a>
@@ -7855,7 +8590,7 @@
<p>Auto initialize the tensor info (shape, number of channels and data type) if the current assignment is empty. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramdir">[in,out]</td><td class="paramname">info</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="paramdir">[in,out]</td><td class="paramname">info</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="paramdir">[in]</td><td class="paramname">shape</td><td>New shape. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">num_channels</td><td>New number of channels. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">data_type</td><td>New data type </td></tr>
@@ -7866,14 +8601,14 @@
<dl class="section return"><dt>Returns</dt><dd>True if the tensor info has been initialized </dd></dl>
<p class="definition">Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00201">201</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
-
-<p class="reference">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#aaf74be25e2392705f29352ffaa4b1f9d">ITensorInfo::set_num_channels()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a575d37eaf8a905c8ca3c0250757c2b81">ITensorInfo::set_quantization_info()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a12a4f1190952613e36b44846962e26bb">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#l00171">TensorShape::total_size()</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_c_l_l2_normalize_layer_kernel_8cpp_source.xhtml#l00039">CLL2NormalizeLayerKernel::CLL2NormalizeLayerKernel()</a>, <a class="el" href="_c_l_softmax_layer_8cpp_source.xhtml#l00038">CLSoftmaxLayer::CLSoftmaxLayer()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00042">GCLogits1DMaxKernel::configure()</a>, <a class="el" href="_g_c_transpose_kernel_8cpp_source.xhtml#l00040">GCTransposeKernel::configure()</a>, <a class="el" href="_c_l_transpose_kernel_8cpp_source.xhtml#l00110">CLTransposeKernel::configure()</a>, <a class="el" href="_n_e_floor_kernel_8cpp_source.xhtml#l00074">NEFloorKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00141">CLDepthwiseConvolutionLayer3x3NHWCKernel::configure()</a>, <a class="el" href="_c_l_reduce_mean_8cpp_source.xhtml#l00039">CLReduceMean::configure()</a>, <a class="el" href="_c_l_floor_kernel_8cpp_source.xhtml#l00079">CLFloorKernel::configure()</a>, <a class="el" href="_n_e_reduce_mean_8cpp_source.xhtml#l00056">NEReduceMean::configure()</a>, <a class="el" href="_c_l_normalization_layer_kernel_8cpp_source.xhtml#l00108">CLNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_permute_kernel_8cpp_source.xhtml#l00076">CLPermuteKernel::configure()</a>, <a class="el" href="_c_l_generate_proposals_layer_kernel_8cpp_source.xhtml#l00067">CLComputeAllAnchorsKernel::configure()</a>, <a class="el" href="_c_l_reorg_layer_kernel_8cpp_source.xhtml#l00076">CLReorgLayerKernel::configure()</a>, <a class="el" href="_c_l_upsample_layer_kernel_8cpp_source.xhtml#l00062">CLUpsampleLayerKernel::configure()</a>, <a class="el" href="_g_c_activation_layer_kernel_8cpp_source.xhtml#l00047">GCActivationLayerKernel::configure()</a>, <a class="el" href="_g_c_depthwise_convolution_layer3x3_kernel_8cpp_source.xhtml#l00051">GCDepthwiseConvolutionLayer3x3Kernel::configure()</a>, <a class="el" href="_n_e_width_concatenate_layer_8cpp_source.xhtml#l00064">NEWidthConcatenateLayer::configure()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00103">CLActivationLayerKernel::configure()</a>, <a class="el" href="_c_l_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00097">CLNormalizePlanarYUVLayerKernel::configure()</a>, <a class="el" href="_g_c_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00094">GCNormalizePlanarYUVLayerKernel::configure()</a>, <a class="el" href="_c_l_bounding_box_transform_kernel_8cpp_source.xhtml#l00069">CLBoundingBoxTransformKernel::configure()</a>, <a class="el" href="_n_e_channel_shuffle_layer_kernel_8cpp_source.xhtml#l00144">NEChannelShuffleLayerKernel::configure()</a>, <a class="el" href="_c_l_depthwise_vector_to_tensor_kernel_8cpp_source.xhtml#l00063">CLDepthwiseVectorToTensorKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_transpose1x_w_kernel_8cpp_source.xhtml#l00041">GCGEMMTranspose1xWKernel::configure()</a>, <a class="el" href="_n_e_reorg_layer_kernel_8cpp_source.xhtml#l00114">NEReorgLayerKernel::configure()</a>, <a class="el" href="_n_e_upsample_layer_kernel_8cpp_source.xhtml#l00292">NEUpsampleLayerKernel::configure()</a>, <a class="el" href="_c_l_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00098">CLFuseBatchNormalizationKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_output_stage_kernel_8cpp_source.xhtml#l00129">CLDirectConvolutionLayerOutputStageKernel::configure()</a>, <a class="el" href="_g_c_direct_convolution_layer_kernel_8cpp_source.xhtml#l00053">GCDirectConvolutionLayerKernel< kernel_size >::configure()</a>, <a class="el" href="_c_l_width_concatenate_layer_8cpp_source.xhtml#l00084">CLWidthConcatenateLayer::configure()</a>, <a class="el" href="_n_e_depth_concatenate_layer_8cpp_source.xhtml#l00046">NEDepthConcatenateLayer::configure()</a>, <a class="el" href="_c_l_convert_fully_connected_weights_kernel_8cpp_source.xhtml#l00040">CLConvertFullyConnectedWeightsKernel::configure()</a>, <a class="el" href="_n_e_normalization_layer_kernel_8cpp_source.xhtml#l00115">NENormalizationLayerKernel::configure()</a>, <a class="el" href="_n_e_transpose_kernel_8cpp_source.xhtml#l00499">NETransposeKernel::configure()</a>, <a class="el" href="_c_p_p_permute_kernel_8cpp_source.xhtml#l00119">CPPPermuteKernel::configure()</a>, <a class="el" href="_c_l_r_o_i_pooling_layer_kernel_8cpp_source.xhtml#l00049">CLROIPoolingLayerKernel::configure()</a>, <a class="el" href="_n_e_depthwise_vector_to_tensor_kernel_8cpp_source.xhtml#l00097">NEDepthwiseVectorToTensorKernel::configure()</a>, <a class="el" href="_c_l_batch_to_space_layer_kernel_8cpp_source.xhtml#l00107">CLBatchToSpaceLayerKernel::configure()</a>, <a class="el" href="_c_l_winograd_input_transform_kernel_8cpp_source.xhtml#l00111">CLWinogradInputTransformKernel::configure()</a>, <a class="el" href="_n_e_activation_layer_kernel_8cpp_source.xhtml#l00094">NEActivationLayerKernel::configure()</a>, <a class="el" href="_n_e_permute_kernel_8cpp_source.xhtml#l00157">NEPermuteKernel::configure()</a>, <a class="el" href="_c_l_depth_concatenate_layer_8cpp_source.xhtml#l00046">CLDepthConcatenateLayer::configure()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00107">GCLogits1DShiftExpSumKernel::configure()</a>, <a class="el" href="_n_e_direct_convolution_layer_output_stage_kernel_8cpp_source.xhtml#l00471">NEDirectConvolutionLayerOutputStageKernel::configure()</a>, <a class="el" href="_n_e_g_e_m_m_interleave4x4_kernel_8cpp_source.xhtml#l00178">NEGEMMInterleave4x4Kernel::configure()</a>, <a class="el" href="_c_l_winograd_filter_transform_kernel_8cpp_source.xhtml#l00102">CLWinogradFilterTransformKernel::configure()</a>, <a class="el" href="_n_e_convert_fully_connected_weights_kernel_8cpp_source.xhtml#l00036">NEConvertFullyConnectedWeightsKernel::configure()</a>, <a class="el" href="_c_l_space_to_batch_layer_kernel_8cpp_source.xhtml#l00111">CLSpaceToBatchLayerKernel::configure()</a>, <a class="el" href="_c_l_winograd_output_transform_kernel_8cpp_source.xhtml#l00136">CLWinogradOutputTransformKernel::configure()</a>, <a class="el" href="_n_e_r_o_i_pooling_layer_kernel_8cpp_source.xhtml#l00045">NEROIPoolingLayerKernel::configure()</a>, <a class="el" href="_n_e_direct_convolution_layer_kernel_8cpp_source.xhtml#l01155">NEDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00350">CLDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_n_e_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00962">NEGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_interleave4x4_kernel_8cpp_source.xhtml#l00044">GCGEMMInterleave4x4Kernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_kernel_8cpp_source.xhtml#l00114">CLGEMMLowpQuantizeDownInt32ToUint8ScaleKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_interleave4x4_kernel_8cpp_source.xhtml#l00118">CLGEMMInterleave4x4Kernel::configure()</a>, <a class="el" href="_n_e_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_kernel_8cpp_source.xhtml#l00298">NEGEMMLowpQuantizeDownInt32ToUint8ScaleKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_transpose1x_w_kernel_8cpp_source.xhtml#l00091">CLGEMMTranspose1xWKernel::configure()</a>, <a class="el" href="_g_c_weights_reshape_kernel_8cpp_source.xhtml#l00046">GCWeightsReshapeKernel::configure()</a>, <a class="el" href="_g_c_col2_im_kernel_8cpp_source.xhtml#l00044">GCCol2ImKernel::configure()</a>, <a class="el" href="_n_e_g_e_m_m_transpose1x_w_kernel_8cpp_source.xhtml#l00099">NEGEMMTranspose1xWKernel::configure()</a>, <a class="el" href="_c_l_weights_reshape_kernel_8cpp_source.xhtml#l00078">CLWeightsReshapeKernel::configure()</a>, <a class="el" href="_n_e_weights_reshape_kernel_8cpp_source.xhtml#l00147">NEWeightsReshapeKernel::configure()</a>, <a class="el" href="_c_l_generate_proposals_layer_8cpp_source.xhtml#l00057">CLGenerateProposalsLayer::configure()</a>, <a class="el" href="_c_l_deconvolution_layer_8cpp_source.xhtml#l00110">CLDeconvolutionLayer::configure()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00201">GCLogits1DNormKernel::configure()</a>, <a class="el" href="_n_e_deconvolution_layer_8cpp_source.xhtml#l00103">NEDeconvolutionLayer::configure()</a>, <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00219">CLLogits1DMaxShiftExpSumKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_8cpp_source.xhtml#l00098">CLDepthwiseConvolutionLayer::configure()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00268">NEDepthwiseConvolutionLayer::configure()</a>, <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00335">CLLogits1DNormKernel::configure()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>, <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00486">NELogits1DMaxKernel::run()</a>, <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00324">vadd()</a>, <a class="el" href="_c_l_split_8cpp_source.xhtml#l00090">CLSplit::validate()</a>, <a class="el" href="_n_e_width_concatenate_layer_8cpp_source.xhtml#l00043">NEWidthConcatenateLayer::validate()</a>, <a class="el" href="_c_l_width_concatenate_layer_8cpp_source.xhtml#l00045">CLWidthConcatenateLayer::validate()</a>, <a class="el" href="_n_e_depth_concatenate_layer_8cpp_source.xhtml#l00076">NEDepthConcatenateLayer::validate()</a>, <a class="el" href="_c_l_depth_concatenate_layer_8cpp_source.xhtml#l00078">CLDepthConcatenateLayer::validate()</a>, <a class="el" href="_n_e_g_e_m_m_8cpp_source.xhtml#l00137">NEGEMM::validate()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_core_8cpp_source.xhtml#l00223">CLGEMMLowpMatrixMultiplyCore::validate()</a>, <a class="el" href="_c_l_g_e_m_m_8cpp_source.xhtml#l00180">CLGEMM::validate()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00346">CLGEMMConvolutionLayer::validate()</a>, and <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00401">NEDepthwiseConvolutionLayer::validate()</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_quantization_info(quantization_info);</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><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> </div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</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_arithmetic_division_8cpp_source.xhtml#l00096">ArithmeticDivision.cpp:96</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_arithmetic_subtraction_8cpp_source.xhtml#l00174">ArithmeticSubtraction.cpp:174</a></div></div>
+<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#a4f4125dba5283887b34f889b1c615c0c">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#a4f4125dba5283887b34f889b1c615c0c">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#a4f4125dba5283887b34f889b1c615c0c">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#a4f4125dba5283887b34f889b1c615c0c">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#a4f4125dba5283887b34f889b1c615c0c">info</a>.set_quantization_info(quantization_info);</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><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> </div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</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_absolute_difference_8cpp_source.xhtml#l00097">AbsoluteDifference.cpp:97</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="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">ConvolutionLayer.cpp:174</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a4f4125dba5283887b34f889b1c615c0c"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">arm_compute::test::validation::info</a></div><div class="ttdeci">info</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">ConvolutionLayer.cpp:174</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">arm_compute::test::validation::data_type</a>, <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">arm_compute::test::validation::info</a>, and <a class="el" href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00097">arm_compute::test::validation::shape</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00042">GCLogits1DMaxKernel::configure()</a>, <a class="el" href="_c_l_transpose_kernel_8cpp_source.xhtml#l00111">CLTransposeKernel::configure()</a>, <a class="el" href="_g_c_transpose_kernel_8cpp_source.xhtml#l00040">GCTransposeKernel::configure()</a>, <a class="el" href="_n_e_floor_kernel_8cpp_source.xhtml#l00074">NEFloorKernel::configure()</a>, <a class="el" href="_c_l_reduce_mean_8cpp_source.xhtml#l00039">CLReduceMean::configure()</a>, <a class="el" href="_c_l_floor_kernel_8cpp_source.xhtml#l00079">CLFloorKernel::configure()</a>, <a class="el" href="_n_e_reduce_mean_8cpp_source.xhtml#l00077">NEReduceMean::configure()</a>, <a class="el" href="_c_l_reverse_kernel_8cpp_source.xhtml#l00068">CLReverseKernel::configure()</a>, <a class="el" href="_c_l_permute_kernel_8cpp_source.xhtml#l00081">CLPermuteKernel::configure()</a>, <a class="el" href="_c_l_generate_proposals_layer_kernel_8cpp_source.xhtml#l00068">CLComputeAllAnchorsKernel::configure()</a>, <a class="el" href="_c_l_normalization_layer_kernel_8cpp_source.xhtml#l00107">CLNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_reorg_layer_kernel_8cpp_source.xhtml#l00076">CLReorgLayerKernel::configure()</a>, <a class="el" href="_n_e_pad_layer_8cpp_source.xhtml#l00071">NEPadLayer::configure()</a>, <a class="el" href="_c_l_tile_kernel_8cpp_source.xhtml#l00068">CLTileKernel::configure()</a>, <a class="el" href="_c_l_upsample_layer_kernel_8cpp_source.xhtml#l00066">CLUpsampleLayerKernel::configure()</a>, <a class="el" href="_n_e_tile_kernel_8cpp_source.xhtml#l00064">NETileKernel::configure()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00103">CLActivationLayerKernel::configure()</a>, <a class="el" href="_g_c_depthwise_convolution_layer3x3_kernel_8cpp_source.xhtml#l00051">GCDepthwiseConvolutionLayer3x3Kernel::configure()</a>, <a class="el" href="_n_e_width_concatenate_layer_8cpp_source.xhtml#l00064">NEWidthConcatenateLayer::configure()</a>, <a class="el" href="_g_c_activation_layer_kernel_8cpp_source.xhtml#l00047">GCActivationLayerKernel::configure()</a>, <a class="el" href="_n_e_reverse_kernel_8cpp_source.xhtml#l00078">NEReverseKernel::configure()</a>, <a class="el" href="_c_l_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00098">CLNormalizePlanarYUVLayerKernel::configure()</a>, <a class="el" href="_c_l_depthwise_vector_to_tensor_kernel_8cpp_source.xhtml#l00064">CLDepthwiseVectorToTensorKernel::configure()</a>, <a class="el" href="_g_c_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00094">GCNormalizePlanarYUVLayerKernel::configure()</a>, <a class="el" href="_n_e_channel_shuffle_layer_kernel_8cpp_source.xhtml#l00144">NEChannelShuffleLayerKernel::configure()</a>, <a class="el" href="_c_l_bounding_box_transform_kernel_8cpp_source.xhtml#l00070">CLBoundingBoxTransformKernel::configure()</a>, <a class="el" href="_n_e_upsample_layer_kernel_8cpp_source.xhtml#l00295">NEUpsampleLayerKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_transpose1x_w_kernel_8cpp_source.xhtml#l00041">GCGEMMTranspose1xWKernel::configure()</a>, <a class="el" href="_n_e_reorg_layer_kernel_8cpp_source.xhtml#l00114">NEReorgLayerKernel::configure()</a>, <a class="el" href="_c_p_p_top_k_v_kernel_8cpp_source.xhtml#l00101">CPPTopKVKernel::configure()</a>, <a class="el" href="_c_l_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00098">CLFuseBatchNormalizationKernel::configure()</a>, <a class="el" href="_g_c_direct_convolution_layer_kernel_8cpp_source.xhtml#l00053">GCDirectConvolutionLayerKernel< kernel_size >::configure()</a>, <a class="el" href="_c_l_width_concatenate_layer_8cpp_source.xhtml#l00084">CLWidthConcatenateLayer::configure()</a>, <a class="el" href="_n_e_depth_concatenate_layer_8cpp_source.xhtml#l00046">NEDepthConcatenateLayer::configure()</a>, <a class="el" href="_c_l_convert_fully_connected_weights_kernel_8cpp_source.xhtml#l00040">CLConvertFullyConnectedWeightsKernel::configure()</a>, <a class="el" href="_n_e_normalization_layer_kernel_8cpp_source.xhtml#l00115">NENormalizationLayerKernel::configure()</a>, <a class="el" href="_c_p_p_permute_kernel_8cpp_source.xhtml#l00108">CPPPermuteKernel::configure()</a>, <a class="el" href="_n_e_transpose_kernel_8cpp_source.xhtml#l00500">NETransposeKernel::configure()</a>, <a class="el" href="_c_l_batch_to_space_layer_kernel_8cpp_source.xhtml#l00107">CLBatchToSpaceLayerKernel::configure()</a>, <a class="el" href="_n_e_depthwise_vector_to_tensor_kernel_8cpp_source.xhtml#l00098">NEDepthwiseVectorToTensorKernel::configure()</a>, <a class="el" href="_c_l_winograd_input_transform_kernel_8cpp_source.xhtml#l00111">CLWinogradInputTransformKernel::configure()</a>, <a class="el" href="_n_e_permute_kernel_8cpp_source.xhtml#l00242">NEPermuteKernel::configure()</a>, <a class="el" href="_c_l_depth_concatenate_layer_8cpp_source.xhtml#l00046">CLDepthConcatenateLayer::configure()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00107">GCLogits1DShiftExpSumKernel::configure()</a>, <a class="el" href="_n_e_direct_convolution_layer_output_stage_kernel_8cpp_source.xhtml#l00463">NEDirectConvolutionLayerOutputStageKernel::configure()</a>, <a class="el" href="_n_e_elementwise_unary_kernel_8cpp_source.xhtml#l00143">NEElementwiseUnaryKernel::configure()</a>, <a class="el" href="_n_e_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00205">NEFuseBatchNormalizationKernel::configure()</a>, <a class="el" href="_n_e_g_e_m_m_interleave4x4_kernel_8cpp_source.xhtml#l00179">NEGEMMInterleave4x4Kernel::configure()</a>, <a class="el" href="_c_l_winograd_filter_transform_kernel_8cpp_source.xhtml#l00102">CLWinogradFilterTransformKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_output_stage_kernel_8cpp_source.xhtml#l00129">CLDirectConvolutionLayerOutputStageKernel::configure()</a>, <a class="el" href="_n_e_convert_fully_connected_weights_kernel_8cpp_source.xhtml#l00036">NEConvertFullyConnectedWeightsKernel::configure()</a>, <a class="el" href="_c_l_space_to_batch_layer_kernel_8cpp_source.xhtml#l00120">CLSpaceToBatchLayerKernel::configure()</a>, <a class="el" href="_n_e_gather_kernel_8cpp_source.xhtml#l00107">NEGatherKernel::configure()</a>, <a class="el" href="_n_e_select_kernel_8cpp_source.xhtml#l00167">NESelectKernel::configure()</a>, <a class="el" href="_n_e_direct_convolution_layer_kernel_8cpp_source.xhtml#l01155">NEDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_c_l_winograd_output_transform_kernel_8cpp_source.xhtml#l00146">CLWinogradOutputTransformKernel::configure()</a>, <a class="el" href="_n_e_r_o_i_pooling_layer_kernel_8cpp_source.xhtml#l00046">NEROIPoolingLayerKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00350">CLDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_n_e_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00962">NEGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_interleave4x4_kernel_8cpp_source.xhtml#l00044">GCGEMMInterleave4x4Kernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_kernel_8cpp_source.xhtml#l00114">CLGEMMLowpQuantizeDownInt32ToUint8ScaleKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_interleave4x4_kernel_8cpp_source.xhtml#l00119">CLGEMMInterleave4x4Kernel::configure()</a>, <a class="el" href="_n_e_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_kernel_8cpp_source.xhtml#l00298">NEGEMMLowpQuantizeDownInt32ToUint8ScaleKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_transpose1x_w_kernel_8cpp_source.xhtml#l00092">CLGEMMTranspose1xWKernel::configure()</a>, <a class="el" href="_g_c_weights_reshape_kernel_8cpp_source.xhtml#l00046">GCWeightsReshapeKernel::configure()</a>, <a class="el" href="_g_c_col2_im_kernel_8cpp_source.xhtml#l00044">GCCol2ImKernel::configure()</a>, <a class="el" href="_n_e_g_e_m_m_transpose1x_w_kernel_8cpp_source.xhtml#l00100">NEGEMMTranspose1xWKernel::configure()</a>, <a class="el" href="_c_l_weights_reshape_kernel_8cpp_source.xhtml#l00078">CLWeightsReshapeKernel::configure()</a>, <a class="el" href="_n_e_weights_reshape_kernel_8cpp_source.xhtml#l00148">NEWeightsReshapeKernel::configure()</a>, <a class="el" href="_c_l_generate_proposals_layer_8cpp_source.xhtml#l00058">CLGenerateProposalsLayer::configure()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00201">GCLogits1DNormKernel::configure()</a>, <a class="el" href="_c_l_deconvolution_layer_8cpp_source.xhtml#l00110">CLDeconvolutionLayer::configure()</a>, <a class="el" href="_n_e_deconvolution_layer_8cpp_source.xhtml#l00103">NEDeconvolutionLayer::configure()</a>, <a class="el" href="_c_p_p_detection_output_layer_8cpp_source.xhtml#l00480">CPPDetectionOutputLayer::configure()</a>, <a class="el" href="_n_e_g_e_m_m_interleaved_wrapper_8cpp_source.xhtml#l00337">NEGEMMInterleavedWrapper::configure()</a>, <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00219">CLLogits1DMaxShiftExpSumKernel::configure()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00268">NEDepthwiseConvolutionLayer::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_8cpp_source.xhtml#l00231">CLDepthwiseConvolutionLayer::configure()</a>, <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00335">CLLogits1DNormKernel::configure()</a>, <a class="el" href="_c_l_split_8cpp_source.xhtml#l00090">CLSplit::validate()</a>, <a class="el" href="_n_e_split_8cpp_source.xhtml#l00090">NESplit::validate()</a>, <a class="el" href="_n_e_width_concatenate_layer_8cpp_source.xhtml#l00043">NEWidthConcatenateLayer::validate()</a>, <a class="el" href="_c_l_width_concatenate_layer_8cpp_source.xhtml#l00045">CLWidthConcatenateLayer::validate()</a>, <a class="el" href="_n_e_depth_concatenate_layer_8cpp_source.xhtml#l00076">NEDepthConcatenateLayer::validate()</a>, <a class="el" href="_c_l_depth_concatenate_layer_8cpp_source.xhtml#l00078">CLDepthConcatenateLayer::validate()</a>, <a class="el" href="_n_e_g_e_m_m_8cpp_source.xhtml#l00137">NEGEMM::validate()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_core_8cpp_source.xhtml#l00221">CLGEMMLowpMatrixMultiplyCore::validate()</a>, <a class="el" href="_c_l_g_e_m_m_8cpp_source.xhtml#l00233">CLGEMM::validate()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00353">CLGEMMConvolutionLayer::validate()</a>, and <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00401">NEDepthwiseConvolutionLayer::validate()</a>.</p>
+
</div>
</div>
<a id="a5844c8e025388ddd8c3afc5c3f7a3256"></a>
@@ -7913,17 +8648,17 @@
<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>
+ <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 class="definition">Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00219">219</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
-
-<p class="reference">References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a367b5090ab432bc7de2c32369e087ab1">ITensorInfo::data_layout()</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#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#abb9481fe056b9749f9b4c08db101cc15">ITensorInfo::set_data_layout()</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#aaf74be25e2392705f29352ffaa4b1f9d">ITensorInfo::set_num_channels()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a575d37eaf8a905c8ca3c0250757c2b81">ITensorInfo::set_quantization_info()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a12a4f1190952613e36b44846962e26bb">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#l00171">TensorShape::total_size()</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>  <span class="keywordflow">if</span>(info_sink.tensor_shape().total_size() == 0)</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>  info_sink.set_data_type(info_source.data_type());</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  info_sink.set_num_channels(info_source.num_channels());</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  info_sink.set_tensor_shape(info_source.tensor_shape());</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  info_sink.set_quantization_info(info_source.quantization_info());</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  info_sink.set_data_layout(info_source.data_layout());</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><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> </div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span> }</div></div><!-- fragment -->
+<p class="reference">References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a367b5090ab432bc7de2c32369e087ab1">ITensorInfo::data_layout()</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#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#abb9481fe056b9749f9b4c08db101cc15">ITensorInfo::set_data_layout()</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#aaf74be25e2392705f29352ffaa4b1f9d">ITensorInfo::set_num_channels()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a575d37eaf8a905c8ca3c0250757c2b81">ITensorInfo::set_quantization_info()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a12a4f1190952613e36b44846962e26bb">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#l00171">TensorShape::total_size()</a>.</p>
+
</div>
</div>
<a id="a64c17a5a42d2499a1626222ff9753b4d"></a>
@@ -7941,11 +8676,11 @@
</table>
</div><div class="memdoc">
-<p>Returns the <a class="el" href="namespacearm__compute.xhtml" title="Copyright (c) 2017-2018 ARM Limited. ">arm_compute</a> library build information. </p>
+<p>Returns the <a class="el" href="namespacearm__compute.xhtml" title="Copyright (c) 2017-2018 ARM Limited.">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" title="Copyright (c) 2017-2018 ARM Limited. ">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="Copyright (c) 2017-2018 ARM Limited.">arm_compute</a> library build information </dd></dl>
-<p class="reference">Referenced by <a class="el" href="main_8cpp_source.xhtml#l00087">main()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="main_8cpp_source.xhtml#l00090">main()</a>.</p>
</div>
</div>
@@ -7996,12 +8731,12 @@
<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 class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00627">627</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="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> <span class="keywordtype">size_t</span> size = matrix_size * matrix_size;</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>  <span class="keywordflow">return</span> std::max(1, std::abs(<a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(matrix, matrix + size, 0)));</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span> }</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><!-- fragment -->
<p class="reference">References <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>.</p>
<p class="reference">Referenced by <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00057">CLConvolutionKernel< matrix_size >::configure()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l00324">NEConvolutionKernel< matrix_size >::configure()</a>, <a class="el" href="_c_l_convolution_8cpp_source.xhtml#l00056">CLConvolutionSquare< matrix_size >::configure()</a>, and <a class="el" href="_n_e_convolution_8cpp_source.xhtml#l00057">NEConvolutionSquare< matrix_size >::configure()</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> <span class="keywordtype">size_t</span> size = matrix_size * matrix_size;</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>  <span class="keywordflow">return</span> std::max(1, std::abs(<a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(matrix, matrix + size, 0)));</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span> }</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><!-- fragment -->
+
</div>
</div>
<a id="affc1f59e0b2c29bf81e8c95bf0fa8e76"></a>
@@ -8049,25 +8784,26 @@
<dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
<p class="definition">Definition at line <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00082">82</a> of file <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml">Helpers.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00281">ValidRegion::anchor</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00376">BorderSize::bottom</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00065">ceil_to_multiple()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00377">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#l00045">Dimensions< int >::num_max_dimensions</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00375">BorderSize::right</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, <a class="el" href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00096">arm_compute::test::validation::shape</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00282">ValidRegion::shape</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00374">BorderSize::top</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00457">calculate_max_enlarged_window()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00434">calculate_max_window_horizontal()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_accumulate_biases_kernel_8cpp_source.xhtml#l00044">GCGEMMMatrixAccumulateBiasesKernel::configure()</a>, <a class="el" href="_g_c_depthwise_convolution_layer3x3_kernel_8cpp_source.xhtml#l00051">GCDepthwiseConvolutionLayer3x3Kernel::configure()</a>, and <a class="el" href="_g_c_direct_convolution_layer_kernel_8cpp_source.xhtml#l00053">GCDirectConvolutionLayerKernel< kernel_size >::configure()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00083"></a><span class="lineno"> 83</span> {</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keyword">const</span> <a class="code" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &anchor = valid_region.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">anchor</a>;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keyword">const</span> <a class="code" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a> = valid_region.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">shape</a>;</div><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>  <a class="code" href="classarm__compute_1_1_window.xhtml">Window</a> window;</div><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>  window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(0, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="comment">// move the anchor to the start from the border</span></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  anchor[0] - border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">left</a>,</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="comment">// move the anchor to include the right end border</span></div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="comment">// Make sure the window width is a multiple of the step size</span></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  anchor[0] - border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">left</a> + <a class="code" href="namespacearm__compute.xhtml#ab237a0a375cf382d52b61653248d3d4a">ceil_to_multiple</a>(shape[0] + border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">left</a> + border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a78b0fed184c642b78f32fd34b228a5f9">right</a>, steps[0]),</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  steps[0]));</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordtype">size_t</span> n = 1;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keywordflow">if</span>(anchor.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">num_dimensions</a>() > 1)</div><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>  window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(1, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="comment">// Include the border above the image</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  anchor[1] - border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a3fdd42ea34070a54e696b3adc28c4be3">top</a>,</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="comment">// Include the border below the image</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  anchor[1] - border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a3fdd42ea34070a54e696b3adc28c4be3">top</a> + <a class="code" href="namespacearm__compute.xhtml#ab237a0a375cf382d52b61653248d3d4a">ceil_to_multiple</a>(shape[1] + border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a3fdd42ea34070a54e696b3adc28c4be3">top</a> + border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a802ffcf1b49237efe5be8a314d3f3869">bottom</a>, steps[1]),</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  steps[1]));</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  ++n;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  }</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="keywordflow">if</span>(anchor.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">num_dimensions</a>() > 2)</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  {</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(2, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(0, std::max<size_t>(1, shape[n]), steps[2]));</div><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>  ++n;</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> </div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keywordflow">for</span>(; n < anchor.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">num_dimensions</a>(); ++n)</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>  window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(n, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(anchor[n], std::max<size_t>(1, shape[n])));</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> </div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordflow">for</span>(; n < Coordinates::num_max_dimensions; ++n)</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  {</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(n, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(0, 1));</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> </div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="keywordflow">return</span> window;</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span> }</div><div class="ttc" id="structarm__compute_1_1_border_size_xhtml_a3fdd42ea34070a54e696b3adc28c4be3"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml#a3fdd42ea34070a54e696b3adc28c4be3">arm_compute::BorderSize::top</a></div><div class="ttdeci">unsigned int top</div><div class="ttdoc">top of the border </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00374">Types.h:374</a></div></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_arithmetic_division_8cpp_source.xhtml#l00096">ArithmeticDivision.cpp:96</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_tensor_shape_xhtml"><div class="ttname"><a href="classarm__compute_1_1_tensor_shape.xhtml">arm_compute::TensorShape</a></div><div class="ttdoc">Shape of a tensor. </div><div class="ttdef"><b>Definition:</b> <a href="_tensor_shape_8h_source.xhtml#l00039">TensorShape.h:39</a></div></div>
-<div class="ttc" id="structarm__compute_1_1_valid_region_xhtml_a1fcd64682b37ed3c2098d0094ce788d8"><div class="ttname"><a href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">arm_compute::ValidRegion::shape</a></div><div class="ttdeci">TensorShape shape</div><div class="ttdoc">Shape of the valid region. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00282">Types.h:282</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_window_1_1_dimension_xhtml"><div class="ttname"><a href="classarm__compute_1_1_window_1_1_dimension.xhtml">arm_compute::Window::Dimension</a></div><div class="ttdoc">Describe one of the image&#39;s dimensions with a start, end and step. </div><div class="ttdef"><b>Definition:</b> <a href="_window_8h_source.xhtml#l00068">Window.h:68</a></div></div>
-<div class="ttc" id="structarm__compute_1_1_border_size_xhtml_a802ffcf1b49237efe5be8a314d3f3869"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml#a802ffcf1b49237efe5be8a314d3f3869">arm_compute::BorderSize::bottom</a></div><div class="ttdeci">unsigned int bottom</div><div class="ttdoc">bottom of the border </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00376">Types.h:376</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ab237a0a375cf382d52b61653248d3d4a"><div class="ttname"><a href="namespacearm__compute.xhtml#ab237a0a375cf382d52b61653248d3d4a">arm_compute::ceil_to_multiple</a></div><div class="ttdeci">auto ceil_to_multiple(S value, T divisor) -> decltype(((value+divisor - 1)/divisor) *divisor)</div><div class="ttdoc">Computes the smallest number larger or equal to value that is a multiple of divisor. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00065">Utils.h:65</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_coordinates_xhtml"><div class="ttname"><a href="classarm__compute_1_1_coordinates.xhtml">arm_compute::Coordinates</a></div><div class="ttdoc">Coordinates of an item. </div><div class="ttdef"><b>Definition:</b> <a href="_coordinates_8h_source.xhtml#l00037">Coordinates.h:37</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_window_xhtml_acd3d2bba51cb84d34dd7656ad2375a6e"><div class="ttname"><a href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">arm_compute::Window::set</a></div><div class="ttdeci">void set(size_t dimension, const Dimension &dim)</div><div class="ttdoc">Set the values of a given dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_window_8inl_source.xhtml#l00041">Window.inl:41</a></div></div>
-<div class="ttc" id="structarm__compute_1_1_border_size_xhtml_a05374b750b0fc472c34ee61e6f028bba"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">arm_compute::BorderSize::left</a></div><div class="ttdeci">unsigned int left</div><div class="ttdoc">left of the border </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00377">Types.h:377</a></div></div>
-<div class="ttc" id="structarm__compute_1_1_border_size_xhtml_a78b0fed184c642b78f32fd34b228a5f9"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml#a78b0fed184c642b78f32fd34b228a5f9">arm_compute::BorderSize::right</a></div><div class="ttdeci">unsigned int right</div><div class="ttdoc">right of the border </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00375">Types.h:375</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a80a5f2d6e3a697c9aad893a3b4242615"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">arm_compute::Dimensions::num_dimensions</a></div><div class="ttdeci">unsigned int num_dimensions() const</div><div class="ttdoc">Returns the effective dimensionality of the tensor. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00122">Dimensions.h:122</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_window_xhtml"><div class="ttname"><a href="classarm__compute_1_1_window.xhtml">arm_compute::Window</a></div><div class="ttdoc">Describe a multidimensional execution window. </div><div class="ttdef"><b>Definition:</b> <a href="_window_8h_source.xhtml#l00039">Window.h:39</a></div></div>
-<div class="ttc" id="structarm__compute_1_1_valid_region_xhtml_a55a69b397082accd94221dd10b722cf7"><div class="ttname"><a href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">arm_compute::ValidRegion::anchor</a></div><div class="ttdeci">Coordinates anchor</div><div class="ttdoc">Anchor for the start of the valid region. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00281">Types.h:281</a></div></div>
+<div class="fragment"><div class="line"><a name="l00083"></a><span class="lineno"> 83</span> {</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keyword">const</span> <a class="code" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &anchor = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7819bcbbf45c2e7c1396a137dce54422">valid_region</a>.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">anchor</a>;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keyword">const</span> <a class="code" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &<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#a7819bcbbf45c2e7c1396a137dce54422">valid_region</a>.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">shape</a>;</div><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>  <a class="code" href="classarm__compute_1_1_window.xhtml">Window</a> window;</div><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>  window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(0, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="comment">// move the anchor to the start from the border</span></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  anchor[0] - border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">left</a>,</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="comment">// move the anchor to include the right end border</span></div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="comment">// Make sure the window width is a multiple of the step size</span></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  anchor[0] - border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">left</a> + <a class="code" href="namespacearm__compute.xhtml#ab237a0a375cf382d52b61653248d3d4a">ceil_to_multiple</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>[0] + border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">left</a> + border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a78b0fed184c642b78f32fd34b228a5f9">right</a>, steps[0]),</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  steps[0]));</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordtype">size_t</span> n = 1;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keywordflow">if</span>(anchor.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">num_dimensions</a>() > 1)</div><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>  window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(1, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="comment">// Include the border above the image</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  anchor[1] - border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a3fdd42ea34070a54e696b3adc28c4be3">top</a>,</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="comment">// Include the border below the image</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  anchor[1] - border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a3fdd42ea34070a54e696b3adc28c4be3">top</a> + <a class="code" href="namespacearm__compute.xhtml#ab237a0a375cf382d52b61653248d3d4a">ceil_to_multiple</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>[1] + border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a3fdd42ea34070a54e696b3adc28c4be3">top</a> + border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a802ffcf1b49237efe5be8a314d3f3869">bottom</a>, steps[1]),</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  steps[1]));</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  ++n;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  }</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="keywordflow">if</span>(anchor.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">num_dimensions</a>() > 2)</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  {</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(2, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(0, std::max<size_t>(1, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>[n]), steps[2]));</div><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>  ++n;</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> </div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keywordflow">for</span>(; n < anchor.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">num_dimensions</a>(); ++n)</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>  window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(n, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(anchor[n], std::max<size_t>(1, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>[n])));</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> </div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordflow">for</span>(; n < Coordinates::num_max_dimensions; ++n)</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  {</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(n, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(0, 1));</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> </div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="keywordflow">return</span> window;</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span> }</div><div class="ttc" id="structarm__compute_1_1_border_size_xhtml_a3fdd42ea34070a54e696b3adc28c4be3"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml#a3fdd42ea34070a54e696b3adc28c4be3">arm_compute::BorderSize::top</a></div><div class="ttdeci">unsigned int top</div><div class="ttdoc">top of the border</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00393">Types.h:393</a></div></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_absolute_difference_8cpp_source.xhtml#l00097">AbsoluteDifference.cpp:97</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_tensor_shape_xhtml"><div class="ttname"><a href="classarm__compute_1_1_tensor_shape.xhtml">arm_compute::TensorShape</a></div><div class="ttdoc">Shape of a tensor.</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_shape_8h_source.xhtml#l00039">TensorShape.h:39</a></div></div>
+<div class="ttc" id="structarm__compute_1_1_valid_region_xhtml_a1fcd64682b37ed3c2098d0094ce788d8"><div class="ttname"><a href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">arm_compute::ValidRegion::shape</a></div><div class="ttdeci">TensorShape shape</div><div class="ttdoc">Shape of the valid region.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00301">Types.h:301</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_window_1_1_dimension_xhtml"><div class="ttname"><a href="classarm__compute_1_1_window_1_1_dimension.xhtml">arm_compute::Window::Dimension</a></div><div class="ttdoc">Describe one of the image's dimensions with a start, end and step.</div><div class="ttdef"><b>Definition:</b> <a href="_window_8h_source.xhtml#l00068">Window.h:68</a></div></div>
+<div class="ttc" id="structarm__compute_1_1_border_size_xhtml_a802ffcf1b49237efe5be8a314d3f3869"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml#a802ffcf1b49237efe5be8a314d3f3869">arm_compute::BorderSize::bottom</a></div><div class="ttdeci">unsigned int bottom</div><div class="ttdoc">bottom of the border</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00395">Types.h:395</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ab237a0a375cf382d52b61653248d3d4a"><div class="ttname"><a href="namespacearm__compute.xhtml#ab237a0a375cf382d52b61653248d3d4a">arm_compute::ceil_to_multiple</a></div><div class="ttdeci">auto ceil_to_multiple(S value, T divisor) -> decltype(((value+divisor - 1)/divisor) *divisor)</div><div class="ttdoc">Computes the smallest number larger or equal to value that is a multiple of divisor.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00065">Utils.h:65</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_coordinates_xhtml"><div class="ttname"><a href="classarm__compute_1_1_coordinates.xhtml">arm_compute::Coordinates</a></div><div class="ttdoc">Coordinates of an item.</div><div class="ttdef"><b>Definition:</b> <a href="_coordinates_8h_source.xhtml#l00037">Coordinates.h:37</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_window_xhtml_acd3d2bba51cb84d34dd7656ad2375a6e"><div class="ttname"><a href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">arm_compute::Window::set</a></div><div class="ttdeci">void set(size_t dimension, const Dimension &dim)</div><div class="ttdoc">Set the values of a given dimension.</div><div class="ttdef"><b>Definition:</b> <a href="_window_8inl_source.xhtml#l00041">Window.inl:41</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7819bcbbf45c2e7c1396a137dce54422"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7819bcbbf45c2e7c1396a137dce54422">arm_compute::test::validation::valid_region</a></div><div class="ttdeci">const ValidRegion valid_region</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00109">AbsoluteDifference.cpp:109</a></div></div>
+<div class="ttc" id="structarm__compute_1_1_border_size_xhtml_a05374b750b0fc472c34ee61e6f028bba"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">arm_compute::BorderSize::left</a></div><div class="ttdeci">unsigned int left</div><div class="ttdoc">left of the border</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00396">Types.h:396</a></div></div>
+<div class="ttc" id="structarm__compute_1_1_border_size_xhtml_a78b0fed184c642b78f32fd34b228a5f9"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml#a78b0fed184c642b78f32fd34b228a5f9">arm_compute::BorderSize::right</a></div><div class="ttdeci">unsigned int right</div><div class="ttdoc">right of the border</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00394">Types.h:394</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a80a5f2d6e3a697c9aad893a3b4242615"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">arm_compute::Dimensions::num_dimensions</a></div><div class="ttdeci">unsigned int num_dimensions() const</div><div class="ttdoc">Returns the effective dimensionality of the tensor.</div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00122">Dimensions.h:122</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_window_xhtml"><div class="ttname"><a href="classarm__compute_1_1_window.xhtml">arm_compute::Window</a></div><div class="ttdoc">Describe a multidimensional execution window.</div><div class="ttdef"><b>Definition:</b> <a href="_window_8h_source.xhtml#l00039">Window.h:39</a></div></div>
+<div class="ttc" id="structarm__compute_1_1_valid_region_xhtml_a55a69b397082accd94221dd10b722cf7"><div class="ttname"><a href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">arm_compute::ValidRegion::anchor</a></div><div class="ttdeci">Coordinates anchor</div><div class="ttdoc">Anchor for the start of the valid region.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00300">Types.h:300</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00300">ValidRegion::anchor</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00395">BorderSize::bottom</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00065">ceil_to_multiple()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00396">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#l00045">Dimensions< int >::num_max_dimensions</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00394">BorderSize::right</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, <a class="el" href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00097">arm_compute::test::validation::shape</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00301">ValidRegion::shape</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00393">BorderSize::top</a>, and <a class="el" href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00109">arm_compute::test::validation::valid_region</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00491">calculate_max_enlarged_window()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_accumulate_biases_kernel_8cpp_source.xhtml#l00044">GCGEMMMatrixAccumulateBiasesKernel::configure()</a>, <a class="el" href="_g_c_depthwise_convolution_layer3x3_kernel_8cpp_source.xhtml#l00051">GCDepthwiseConvolutionLayer3x3Kernel::configure()</a>, and <a class="el" href="_g_c_direct_convolution_layer_kernel_8cpp_source.xhtml#l00053">GCDirectConvolutionLayerKernel< kernel_size >::configure()</a>.</p>
+
</div>
</div>
<a id="afcdda83b6a85d5798f08d92c0e235e2e"></a>
@@ -8114,7 +8850,7 @@
<p>The window will also includes the border.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> info object defining the shape of the object for which the window is created. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface.">Tensor</a> info object defining the shape of the object for which the window is created. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">steps</td><td>(Optional) Number of elements processed for each step. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">border_size</td><td>(Optional) Border size. The border region will be included in the window.</td></tr>
</table>
@@ -8122,12 +8858,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
-<p class="definition">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 class="reference">References <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00082">calculate_max_enlarged_window()</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="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#afcdda83b6a85d5798f08d92c0e235e2e">calculate_max_enlarged_window</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.valid_region(), steps, border_size);</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_afcdda83b6a85d5798f08d92c0e235e2e"><div class="ttname"><a href="namespacearm__compute.xhtml#afcdda83b6a85d5798f08d92c0e235e2e">arm_compute::calculate_max_enlarged_window</a></div><div class="ttdeci">Window calculate_max_enlarged_window(const ITensorInfo &info, const Steps &steps=Steps(), BorderSize border_size=BorderSize())</div><div class="ttdoc">Calculate the maximum window for a given tensor shape and border setting. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00457">Helpers.h:457</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 class="definition">Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00491">491</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="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> <a class="code" href="namespacearm__compute.xhtml#afcdda83b6a85d5798f08d92c0e235e2e">calculate_max_enlarged_window</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.valid_region(), steps, border_size);</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_afcdda83b6a85d5798f08d92c0e235e2e"><div class="ttname"><a href="namespacearm__compute.xhtml#afcdda83b6a85d5798f08d92c0e235e2e">arm_compute::calculate_max_enlarged_window</a></div><div class="ttdeci">Window calculate_max_enlarged_window(const ITensorInfo &info, const Steps &steps=Steps(), BorderSize border_size=BorderSize())</div><div class="ttdoc">Calculate the maximum window for a given tensor shape and border setting.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00491">Helpers.h:491</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a4f4125dba5283887b34f889b1c615c0c"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">arm_compute::test::validation::info</a></div><div class="ttdeci">info</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">ConvolutionLayer.cpp:174</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00082">calculate_max_enlarged_window()</a>, and <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">arm_compute::test::validation::info</a>.</p>
+
</div>
</div>
<a id="ab7980fa5ee693e3282a76da047a1c3b5"></a>
@@ -8181,26 +8917,27 @@
<dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
<p class="definition">Definition at line <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00028">28</a> of file <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml">Helpers.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00281">ValidRegion::anchor</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00376">BorderSize::bottom</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00065">ceil_to_multiple()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00377">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#l00045">Dimensions< int >::num_max_dimensions</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00375">BorderSize::right</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, <a class="el" href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00096">arm_compute::test::validation::shape</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00282">ValidRegion::shape</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00374">BorderSize::top</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00409">calculate_max_window()</a>, <a class="el" href="_c_l_l2_normalize_layer_kernel_8cpp_source.xhtml#l00039">CLL2NormalizeLayerKernel::CLL2NormalizeLayerKernel()</a>, <a class="el" href="_c_l_locally_connected_matrix_multiply_kernel_8cpp_source.xhtml#l00044">CLLocallyConnectedMatrixMultiplyKernel::CLLocallyConnectedMatrixMultiplyKernel()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00042">GCLogits1DMaxKernel::configure()</a>, <a class="el" href="_c_l_integral_image_kernel_8cpp_source.xhtml#l00039">CLIntegralImageHorKernel::configure()</a>, <a class="el" href="_c_l_warp_perspective_kernel_8cpp_source.xhtml#l00061">CLWarpPerspectiveKernel::configure()</a>, <a class="el" href="_c_l_box3x3_kernel_8cpp_source.xhtml#l00043">CLBox3x3Kernel::configure()</a>, <a class="el" href="_c_l_median3x3_kernel_8cpp_source.xhtml#l00039">CLMedian3x3Kernel::configure()</a>, <a class="el" href="_c_l_erode_kernel_8cpp_source.xhtml#l00039">CLErodeKernel::configure()</a>, <a class="el" href="_c_l_dilate_kernel_8cpp_source.xhtml#l00039">CLDilateKernel::configure()</a>, <a class="el" href="_c_l_gaussian3x3_kernel_8cpp_source.xhtml#l00042">CLGaussian3x3Kernel::configure()</a>, <a class="el" href="_n_e_reshape_layer_kernel_8cpp_source.xhtml#l00073">NEReshapeLayerKernel::configure()</a>, <a class="el" href="_g_c_transpose_kernel_8cpp_source.xhtml#l00040">GCTransposeKernel::configure()</a>, <a class="el" href="_c_l_non_maxima_suppression3x3_kernel_8cpp_source.xhtml#l00044">CLNonMaximaSuppression3x3Kernel::configure()</a>, <a class="el" href="_c_l_warp_affine_kernel_8cpp_source.xhtml#l00061">CLWarpAffineKernel::configure()</a>, <a class="el" href="_n_e_integral_image_kernel_8cpp_source.xhtml#l00038">NEIntegralImageKernel::configure()</a>, <a class="el" href="_g_c_scale_kernel_8cpp_source.xhtml#l00047">GCScaleKernel::configure()</a>, <a class="el" href="_n_e_box3x3_kernel_8cpp_source.xhtml#l00114">NEBox3x3Kernel::configure()</a>, <a class="el" href="_n_e_dilate_kernel_8cpp_source.xhtml#l00048">NEDilateKernel::configure()</a>, <a class="el" href="_n_e_erode_kernel_8cpp_source.xhtml#l00048">NEErodeKernel::configure()</a>, <a class="el" href="_n_e_gaussian3x3_kernel_8cpp_source.xhtml#l00041">NEGaussian3x3Kernel::configure()</a>, <a class="el" href="_n_e_median3x3_kernel_8cpp_source.xhtml#l00054">NEMedian3x3Kernel::configure()</a>, <a class="el" href="_c_l_non_linear_filter_kernel_8cpp_source.xhtml#l00056">CLNonLinearFilterKernel::configure()</a>, <a class="el" href="_c_l_reshape_layer_kernel_8cpp_source.xhtml#l00067">CLReshapeLayerKernel::configure()</a>, <a class="el" href="_c_l_generate_proposals_layer_kernel_8cpp_source.xhtml#l00067">CLComputeAllAnchorsKernel::configure()</a>, <a class="el" href="_c_l_batch_to_space_layer_kernel_8cpp_source.xhtml#l00084">CLBatchToSpaceLayerKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00040">CLGradientKernel::configure()</a>, <a class="el" href="_c_l_permute_kernel_8cpp_source.xhtml#l00076">CLPermuteKernel::configure()</a>, <a class="el" href="_c_l_bitwise_xor_kernel_8cpp_source.xhtml#l00041">CLBitwiseXorKernel::configure()</a>, <a class="el" href="_c_l_memset_kernel_8cpp_source.xhtml#l00042">CLMemsetKernel::configure()</a>, <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00062">CLMinMaxKernel::configure()</a>, <a class="el" href="_c_l_remap_kernel_8cpp_source.xhtml#l00050">CLRemapKernel::configure()</a>, <a class="el" href="_c_l_reorg_layer_kernel_8cpp_source.xhtml#l00076">CLReorgLayerKernel::configure()</a>, <a class="el" href="_n_e_copy_kernel_8cpp_source.xhtml#l00040">NECopyKernel::configure()</a>, <a class="el" href="_c_l_bitwise_and_kernel_8cpp_source.xhtml#l00040">CLBitwiseAndKernel::configure()</a>, <a class="el" href="_c_l_space_to_batch_layer_kernel_8cpp_source.xhtml#l00083">CLSpaceToBatchLayerKernel::configure()</a>, <a class="el" href="_c_l_upsample_layer_kernel_8cpp_source.xhtml#l00062">CLUpsampleLayerKernel::configure()</a>, <a class="el" href="_c_l_bitwise_or_kernel_8cpp_source.xhtml#l00041">CLBitwiseOrKernel::configure()</a>, <a class="el" href="_i_g_c_simple_kernel_8cpp_source.xhtml#l00038">IGCSimpleKernel::configure()</a>, <a class="el" href="_g_c_activation_layer_kernel_8cpp_source.xhtml#l00047">GCActivationLayerKernel::configure()</a>, <a class="el" href="_g_c_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00047">GCPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_c_l_deconvolution_layer_upsample_kernel_8cpp_source.xhtml#l00071">CLDeconvolutionLayerUpsampleKernel::configure()</a>, <a class="el" href="_c_l_depthwise_weights_reshape_kernel_8cpp_source.xhtml#l00069">CLDepthwiseWeightsReshapeKernel::configure()</a>, <a class="el" href="_c_l_derivative_kernel_8cpp_source.xhtml#l00050">CLDerivativeKernel::configure()</a>, <a class="el" href="_i_c_l_simple_kernel_8cpp_source.xhtml#l00038">ICLSimpleKernel::configure()</a>, <a class="el" href="_c_l_sobel3x3_kernel_8cpp_source.xhtml#l00050">CLSobel3x3Kernel::configure()</a>, <a class="el" href="_c_p_p_flip_weights_kernel_8cpp_source.xhtml#l00069">CPPFlipWeightsKernel::configure()</a>, <a class="el" href="_c_l_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00048">CLHOGOrientationBinningKernel::configure()</a>, <a class="el" href="_n_e_warp_kernel_8cpp_source.xhtml#l00067">INEWarpKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_addition_kernel_8cpp_source.xhtml#l00043">GCGEMMMatrixAdditionKernel::configure()</a>, <a class="el" href="_g_c_normalization_layer_kernel_8cpp_source.xhtml#l00049">GCNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_bounding_box_transform_kernel_8cpp_source.xhtml#l00069">CLBoundingBoxTransformKernel::configure()</a>, <a class="el" href="_g_c_absolute_difference_kernel_8cpp_source.xhtml#l00047">GCAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_c_l_absolute_difference_kernel_8cpp_source.xhtml#l00047">CLAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_n_e_bitwise_not_kernel_8cpp_source.xhtml#l00056">NEBitwiseNotKernel::configure()</a>, <a class="el" href="_c_l_depthwise_vector_to_tensor_kernel_8cpp_source.xhtml#l00063">CLDepthwiseVectorToTensorKernel::configure()</a>, <a class="el" href="_n_e_channel_shuffle_layer_kernel_8cpp_source.xhtml#l00144">NEChannelShuffleLayerKernel::configure()</a>, <a class="el" href="_n_e_depthwise_weights_reshape_kernel_8cpp_source.xhtml#l00105">NEDepthwiseWeightsReshapeKernel::configure()</a>, <a class="el" href="_c_l_channel_extract_kernel_8cpp_source.xhtml#l00050">CLChannelExtractKernel::configure()</a>, <a class="el" href="_c_l_color_convert_kernel_8cpp_source.xhtml#l00048">CLColorConvertKernel::configure()</a>, <a class="el" href="_n_e_reorg_layer_kernel_8cpp_source.xhtml#l00114">NEReorgLayerKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_transpose1x_w_kernel_8cpp_source.xhtml#l00041">GCGEMMTranspose1xWKernel::configure()</a>, <a class="el" href="_c_l_magnitude_phase_kernel_8cpp_source.xhtml#l00046">CLMagnitudePhaseKernel::configure()</a>, <a class="el" href="_c_l_mean_std_dev_kernel_8cpp_source.xhtml#l00066">CLMeanStdDevKernel::configure()</a>, <a class="el" href="_n_e_bitwise_and_kernel_8cpp_source.xhtml#l00061">NEBitwiseAndKernel::configure()</a>, <a class="el" href="_n_e_bitwise_or_kernel_8cpp_source.xhtml#l00057">NEBitwiseOrKernel::configure()</a>, <a class="el" href="_n_e_bitwise_xor_kernel_8cpp_source.xhtml#l00057">NEBitwiseXorKernel::configure()</a>, <a class="el" href="_c_l_depthwise_im2_col_kernel_8cpp_source.xhtml#l00064">CLDepthwiseIm2ColKernel::configure()</a>, <a class="el" href="_n_e_derivative_kernel_8cpp_source.xhtml#l00054">NEDerivativeKernel::configure()</a>, <a class="el" href="_c_l_channel_combine_kernel_8cpp_source.xhtml#l00049">CLChannelCombineKernel::configure()</a>, <a class="el" href="_c_l_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00098">CLFuseBatchNormalizationKernel::configure()</a>, <a class="el" href="_n_e_remap_kernel_8cpp_source.xhtml#l00076">NERemapKernel::configure()</a>, <a class="el" href="_c_p_p_permute_kernel_8cpp_source.xhtml#l00119">CPPPermuteKernel::configure()</a>, <a class="el" href="_c_l_convert_fully_connected_weights_kernel_8cpp_source.xhtml#l00040">CLConvertFullyConnectedWeightsKernel::configure()</a>, <a class="el" href="_g_c_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00050">GCDepthConcatenateLayerKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00057">CLConvolutionKernel< matrix_size >::configure()</a>, <a class="el" href="_n_e_fast_corners_kernel_8cpp_source.xhtml#l00361">NEFastCornersKernel::configure()</a>, <a class="el" href="_n_e_color_convert_kernel_8cpp_source.xhtml#l00045">NEColorConvertKernel::configure()</a>, <a class="el" href="_n_e_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00632">NEHOGOrientationBinningKernel::configure()</a>, <a class="el" href="_c_p_p_upsample_kernel_8cpp_source.xhtml#l00049">CPPUpsampleKernel::configure()</a>, <a class="el" href="_c_l_integral_image_kernel_8cpp_source.xhtml#l00071">CLIntegralImageVertKernel::configure()</a>, <a class="el" href="_n_e_threshold_kernel_8cpp_source.xhtml#l00045">NEThresholdKernel::configure()</a>, <a class="el" href="_n_e_absolute_difference_kernel_8cpp_source.xhtml#l00133">NEAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_c_l_r_o_i_pooling_layer_kernel_8cpp_source.xhtml#l00049">CLROIPoolingLayerKernel::configure()</a>, <a class="el" href="_n_e_depthwise_vector_to_tensor_kernel_8cpp_source.xhtml#l00097">NEDepthwiseVectorToTensorKernel::configure()</a>, <a class="el" href="_n_e_non_linear_filter_kernel_8cpp_source.xhtml#l00353">NENonLinearFilterKernel::configure()</a>, <a class="el" href="_n_e_permute_kernel_8cpp_source.xhtml#l00157">NEPermuteKernel::configure()</a>, <a class="el" href="_n_e_channel_extract_kernel_8cpp_source.xhtml#l00052">NEChannelExtractKernel::configure()</a>, <a class="el" href="_n_e_fill_array_kernel_8cpp_source.xhtml#l00039">NEFillArrayKernel::configure()</a>, <a class="el" href="_n_e_magnitude_phase_kernel_8cpp_source.xhtml#l00250">NEMagnitudePhaseKernel< mag_type, phase_type >::configure()</a>, <a class="el" href="_n_e_non_maxima_suppression3x3_kernel_8cpp_source.xhtml#l00462">NENonMaximaSuppression3x3Kernel::configure()</a>, <a class="el" href="_n_e_min_max_location_kernel_8cpp_source.xhtml#l00049">NEMinMaxKernel::configure()</a>, <a class="el" href="_g_c_dropout_layer_kernel_8cpp_source.xhtml#l00048">GCDropoutLayerKernel::configure()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00107">GCLogits1DShiftExpSumKernel::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l00877">NEGradientKernel::configure()</a>, <a class="el" href="_n_e_depthwise_im2_col_kernel_8cpp_source.xhtml#l00136">NEDepthwiseIm2ColKernel::configure()</a>, <a class="el" href="_n_e_mean_std_dev_kernel_8cpp_source.xhtml#l00097">NEMeanStdDevKernel::configure()</a>, <a class="el" href="_c_p_p_corner_candidates_kernel_8cpp_source.xhtml#l00074">CPPCornerCandidatesKernel::configure()</a>, <a class="el" href="_c_l_harris_corners_kernel_8cpp_source.xhtml#l00054">CLHarrisScoreKernel::configure()</a>, <a class="el" href="_n_e_channel_combine_kernel_8cpp_source.xhtml#l00052">NEChannelCombineKernel::configure()</a>, <a class="el" href="_n_e_convert_fully_connected_weights_kernel_8cpp_source.xhtml#l00036">NEConvertFullyConnectedWeightsKernel::configure()</a>, <a class="el" href="_n_e_cumulative_distribution_kernel_8cpp_source.xhtml#l00050">NECumulativeDistributionKernel::configure()</a>, <a class="el" href="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00050">CLFastCornersKernel::configure()</a>, <a class="el" href="_c_p_p_box_with_non_maxima_suppression_limit_kernel_8cpp_source.xhtml#l00349">CPPBoxWithNonMaximaSuppressionLimitKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_interleave4x4_kernel_8cpp_source.xhtml#l00044">GCGEMMInterleave4x4Kernel::configure()</a>, <a class="el" href="_n_e_scharr3x3_kernel_8cpp_source.xhtml#l00090">NEScharr3x3Kernel::configure()</a>, <a class="el" href="_n_e_sobel3x3_kernel_8cpp_source.xhtml#l00048">NESobel3x3Kernel::configure()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l00324">NEConvolutionKernel< matrix_size >::configure()</a>, <a class="el" href="_c_l_scharr3x3_kernel_8cpp_source.xhtml#l00050">CLScharr3x3Kernel::configure()</a>, <a class="el" href="_n_e_histogram_kernel_8cpp_source.xhtml#l00195">NEHistogramKernel::configure()</a>, <a class="el" href="_n_e_gaussian5x5_kernel_8cpp_source.xhtml#l00118">NEGaussian5x5VertKernel::configure()</a>, <a class="el" href="_g_c_weights_reshape_kernel_8cpp_source.xhtml#l00046">GCWeightsReshapeKernel::configure()</a>, <a class="el" href="_g_c_col2_im_kernel_8cpp_source.xhtml#l00044">GCCol2ImKernel::configure()</a>, <a class="el" href="_c_l_weights_reshape_kernel_8cpp_source.xhtml#l00078">CLWeightsReshapeKernel::configure()</a>, <a class="el" href="_g_c_im2_col_kernel_8cpp_source.xhtml#l00067">GCIm2ColKernel::configure()</a>, <a class="el" href="_c_l_gaussian_pyramid_kernel_8cpp_source.xhtml#l00136">CLGaussianPyramidVertKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00111">CLEdgeNonMaxSuppressionKernel::configure()</a>, <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00169">CLMinMaxLocationKernel::configure()</a>, <a class="el" href="_c_l_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00125">CLHOGBlockNormalizationKernel::configure()</a>, <a class="el" href="_n_e_harris_corners_kernel_8cpp_source.xhtml#l00736">NEHarrisScoreKernel< block_size >::configure()</a>, <a class="el" href="_n_e_gaussian_pyramid_kernel_8cpp_source.xhtml#l00161">NEGaussianPyramidVertKernel::configure()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00201">GCLogits1DNormKernel::configure()</a>, <a class="el" href="_c_l_sobel5x5_kernel_8cpp_source.xhtml#l00144">CLSobel5x5VertKernel::configure()</a>, <a class="el" href="_c_l_sobel7x7_kernel_8cpp_source.xhtml#l00147">CLSobel7x7VertKernel::configure()</a>, <a class="el" href="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00115">CLCopyToArrayKernel::configure()</a>, <a class="el" href="_n_e_sobel5x5_kernel_8cpp_source.xhtml#l00217">NESobel5x5VertKernel::configure()</a>, <a class="el" href="_n_e_sobel7x7_kernel_8cpp_source.xhtml#l00307">NESobel7x7VertKernel::configure()</a>, <a class="el" href="_n_e_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00714">NEHOGBlockNormalizationKernel::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l00970">NEEdgeNonMaxSuppressionKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00180">CLSeparableConvolutionVertKernel< matrix_size >::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00173">CLEdgeTraceKernel::configure()</a>, <a class="el" href="_n_e_min_max_location_kernel_8cpp_source.xhtml#l00335">NEMinMaxLocationKernel::configure()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l01103">NESeparableConvolutionVertKernel< matrix_size >::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00246">CLConvolutionRectangleKernel::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l01059">NEEdgeTraceKernel::configure()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l01427">NEConvolutionRectangleKernel::configure()</a>, <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00486">NELogits1DMaxKernel::run()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00368">update_window_and_padding()</a>, and <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00324">vadd()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> {</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  <span class="keywordflow">if</span>(!skip_border)</div><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>  border_size = <a class="code" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>(0);</div><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> </div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <span class="keyword">const</span> <a class="code" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &anchor = valid_region.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">anchor</a>;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <span class="keyword">const</span> <a class="code" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a> = valid_region.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">shape</a>;</div><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>  <a class="code" href="classarm__compute_1_1_window.xhtml">Window</a> window;</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>  window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(0, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="comment">// Skip the border left of the image</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  anchor[0] + border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">left</a>,</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="comment">// Skip the border right of the image</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="comment">// Make sure the window width is a multiple of the step size</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  anchor[0] + border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">left</a> + <a class="code" href="namespacearm__compute.xhtml#ab237a0a375cf382d52b61653248d3d4a">ceil_to_multiple</a>(std::max(0, static_cast<int>(shape[0]) - static_cast<int>(border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">left</a>) - static_cast<int>(border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a78b0fed184c642b78f32fd34b228a5f9">right</a>)), steps[0]),</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  steps[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="keywordtype">size_t</span> n = 1;</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="keywordflow">if</span>(anchor.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">num_dimensions</a>() > 1)</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>  window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(1, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="comment">// Skip the border above the image</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  anchor[1] + border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a3fdd42ea34070a54e696b3adc28c4be3">top</a>,</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="comment">// Skip the border below the image</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  anchor[1] + border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a3fdd42ea34070a54e696b3adc28c4be3">top</a> + <a class="code" href="namespacearm__compute.xhtml#ab237a0a375cf382d52b61653248d3d4a">ceil_to_multiple</a>(std::max(0, static_cast<int>(shape[1]) - static_cast<int>(border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a3fdd42ea34070a54e696b3adc28c4be3">top</a>) - static_cast<int>(border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a802ffcf1b49237efe5be8a314d3f3869">bottom</a>)), steps[1]),</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  steps[1]));</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>  ++n;</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> </div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keywordflow">if</span>(anchor.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">num_dimensions</a>() > 2)</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>  window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(2, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(anchor[2], std::max<size_t>(1, shape[2]), steps[2]));</div><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>  ++n;</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  }</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="keywordflow">for</span>(; n < anchor.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">num_dimensions</a>(); ++n)</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  {</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(n, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(anchor[n], std::max<size_t>(1, shape[n])));</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> </div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordflow">for</span>(; n < Coordinates::num_max_dimensions; ++n)</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>  window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(n, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(0, 1));</div><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> </div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">return</span> window;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span> }</div><div class="ttc" id="structarm__compute_1_1_border_size_xhtml_a3fdd42ea34070a54e696b3adc28c4be3"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml#a3fdd42ea34070a54e696b3adc28c4be3">arm_compute::BorderSize::top</a></div><div class="ttdeci">unsigned int top</div><div class="ttdoc">top of the border </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00374">Types.h:374</a></div></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_arithmetic_division_8cpp_source.xhtml#l00096">ArithmeticDivision.cpp:96</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_tensor_shape_xhtml"><div class="ttname"><a href="classarm__compute_1_1_tensor_shape.xhtml">arm_compute::TensorShape</a></div><div class="ttdoc">Shape of a tensor. </div><div class="ttdef"><b>Definition:</b> <a href="_tensor_shape_8h_source.xhtml#l00039">TensorShape.h:39</a></div></div>
-<div class="ttc" id="structarm__compute_1_1_valid_region_xhtml_a1fcd64682b37ed3c2098d0094ce788d8"><div class="ttname"><a href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">arm_compute::ValidRegion::shape</a></div><div class="ttdeci">TensorShape shape</div><div class="ttdoc">Shape of the valid region. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00282">Types.h:282</a></div></div>
-<div class="ttc" id="structarm__compute_1_1_border_size_xhtml"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml">arm_compute::BorderSize</a></div><div class="ttdoc">Container for 2D border size. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00294">Types.h:294</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_window_1_1_dimension_xhtml"><div class="ttname"><a href="classarm__compute_1_1_window_1_1_dimension.xhtml">arm_compute::Window::Dimension</a></div><div class="ttdoc">Describe one of the image&#39;s dimensions with a start, end and step. </div><div class="ttdef"><b>Definition:</b> <a href="_window_8h_source.xhtml#l00068">Window.h:68</a></div></div>
-<div class="ttc" id="structarm__compute_1_1_border_size_xhtml_a802ffcf1b49237efe5be8a314d3f3869"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml#a802ffcf1b49237efe5be8a314d3f3869">arm_compute::BorderSize::bottom</a></div><div class="ttdeci">unsigned int bottom</div><div class="ttdoc">bottom of the border </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00376">Types.h:376</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ab237a0a375cf382d52b61653248d3d4a"><div class="ttname"><a href="namespacearm__compute.xhtml#ab237a0a375cf382d52b61653248d3d4a">arm_compute::ceil_to_multiple</a></div><div class="ttdeci">auto ceil_to_multiple(S value, T divisor) -> decltype(((value+divisor - 1)/divisor) *divisor)</div><div class="ttdoc">Computes the smallest number larger or equal to value that is a multiple of divisor. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00065">Utils.h:65</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_coordinates_xhtml"><div class="ttname"><a href="classarm__compute_1_1_coordinates.xhtml">arm_compute::Coordinates</a></div><div class="ttdoc">Coordinates of an item. </div><div class="ttdef"><b>Definition:</b> <a href="_coordinates_8h_source.xhtml#l00037">Coordinates.h:37</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_window_xhtml_acd3d2bba51cb84d34dd7656ad2375a6e"><div class="ttname"><a href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">arm_compute::Window::set</a></div><div class="ttdeci">void set(size_t dimension, const Dimension &dim)</div><div class="ttdoc">Set the values of a given dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_window_8inl_source.xhtml#l00041">Window.inl:41</a></div></div>
-<div class="ttc" id="structarm__compute_1_1_border_size_xhtml_a05374b750b0fc472c34ee61e6f028bba"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">arm_compute::BorderSize::left</a></div><div class="ttdeci">unsigned int left</div><div class="ttdoc">left of the border </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00377">Types.h:377</a></div></div>
-<div class="ttc" id="structarm__compute_1_1_border_size_xhtml_a78b0fed184c642b78f32fd34b228a5f9"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml#a78b0fed184c642b78f32fd34b228a5f9">arm_compute::BorderSize::right</a></div><div class="ttdeci">unsigned int right</div><div class="ttdoc">right of the border </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00375">Types.h:375</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a80a5f2d6e3a697c9aad893a3b4242615"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">arm_compute::Dimensions::num_dimensions</a></div><div class="ttdeci">unsigned int num_dimensions() const</div><div class="ttdoc">Returns the effective dimensionality of the tensor. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00122">Dimensions.h:122</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_window_xhtml"><div class="ttname"><a href="classarm__compute_1_1_window.xhtml">arm_compute::Window</a></div><div class="ttdoc">Describe a multidimensional execution window. </div><div class="ttdef"><b>Definition:</b> <a href="_window_8h_source.xhtml#l00039">Window.h:39</a></div></div>
-<div class="ttc" id="structarm__compute_1_1_valid_region_xhtml_a55a69b397082accd94221dd10b722cf7"><div class="ttname"><a href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">arm_compute::ValidRegion::anchor</a></div><div class="ttdeci">Coordinates anchor</div><div class="ttdoc">Anchor for the start of the valid region. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00281">Types.h:281</a></div></div>
+<div class="fragment"><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> {</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  <span class="keywordflow">if</span>(!skip_border)</div><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>  border_size = <a class="code" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>(0);</div><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> </div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <span class="keyword">const</span> <a class="code" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &anchor = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7819bcbbf45c2e7c1396a137dce54422">valid_region</a>.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">anchor</a>;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <span class="keyword">const</span> <a class="code" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &<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#a7819bcbbf45c2e7c1396a137dce54422">valid_region</a>.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">shape</a>;</div><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>  <a class="code" href="classarm__compute_1_1_window.xhtml">Window</a> window;</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>  window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(0, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="comment">// Skip the border left of the image</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  anchor[0] + border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">left</a>,</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="comment">// Skip the border right of the image</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="comment">// Make sure the window width is a multiple of the step size</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  anchor[0] + border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">left</a> + <a class="code" href="namespacearm__compute.xhtml#ab237a0a375cf382d52b61653248d3d4a">ceil_to_multiple</a>(std::max(0, static_cast<int>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>[0]) - static_cast<int>(border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">left</a>) - static_cast<int>(border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a78b0fed184c642b78f32fd34b228a5f9">right</a>)), steps[0]),</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  steps[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="keywordtype">size_t</span> n = 1;</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="keywordflow">if</span>(anchor.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">num_dimensions</a>() > 1)</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>  window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(1, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="comment">// Skip the border above the image</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  anchor[1] + border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a3fdd42ea34070a54e696b3adc28c4be3">top</a>,</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="comment">// Skip the border below the image</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  anchor[1] + border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a3fdd42ea34070a54e696b3adc28c4be3">top</a> + <a class="code" href="namespacearm__compute.xhtml#ab237a0a375cf382d52b61653248d3d4a">ceil_to_multiple</a>(std::max(0, static_cast<int>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>[1]) - static_cast<int>(border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a3fdd42ea34070a54e696b3adc28c4be3">top</a>) - static_cast<int>(border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a802ffcf1b49237efe5be8a314d3f3869">bottom</a>)), steps[1]),</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  steps[1]));</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>  ++n;</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> </div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keywordflow">if</span>(anchor.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">num_dimensions</a>() > 2)</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>  window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(2, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(anchor[2], std::max<size_t>(1, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>[2]), steps[2]));</div><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>  ++n;</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  }</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="keywordflow">for</span>(; n < anchor.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">num_dimensions</a>(); ++n)</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  {</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(n, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(anchor[n], std::max<size_t>(1, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>[n])));</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> </div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordflow">for</span>(; n < Coordinates::num_max_dimensions; ++n)</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>  window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(n, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(0, 1));</div><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> </div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">return</span> window;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span> }</div><div class="ttc" id="structarm__compute_1_1_border_size_xhtml_a3fdd42ea34070a54e696b3adc28c4be3"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml#a3fdd42ea34070a54e696b3adc28c4be3">arm_compute::BorderSize::top</a></div><div class="ttdeci">unsigned int top</div><div class="ttdoc">top of the border</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00393">Types.h:393</a></div></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_absolute_difference_8cpp_source.xhtml#l00097">AbsoluteDifference.cpp:97</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_tensor_shape_xhtml"><div class="ttname"><a href="classarm__compute_1_1_tensor_shape.xhtml">arm_compute::TensorShape</a></div><div class="ttdoc">Shape of a tensor.</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_shape_8h_source.xhtml#l00039">TensorShape.h:39</a></div></div>
+<div class="ttc" id="structarm__compute_1_1_valid_region_xhtml_a1fcd64682b37ed3c2098d0094ce788d8"><div class="ttname"><a href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">arm_compute::ValidRegion::shape</a></div><div class="ttdeci">TensorShape shape</div><div class="ttdoc">Shape of the valid region.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00301">Types.h:301</a></div></div>
+<div class="ttc" id="structarm__compute_1_1_border_size_xhtml"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml">arm_compute::BorderSize</a></div><div class="ttdoc">Container for 2D border size.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00313">Types.h:313</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_window_1_1_dimension_xhtml"><div class="ttname"><a href="classarm__compute_1_1_window_1_1_dimension.xhtml">arm_compute::Window::Dimension</a></div><div class="ttdoc">Describe one of the image's dimensions with a start, end and step.</div><div class="ttdef"><b>Definition:</b> <a href="_window_8h_source.xhtml#l00068">Window.h:68</a></div></div>
+<div class="ttc" id="structarm__compute_1_1_border_size_xhtml_a802ffcf1b49237efe5be8a314d3f3869"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml#a802ffcf1b49237efe5be8a314d3f3869">arm_compute::BorderSize::bottom</a></div><div class="ttdeci">unsigned int bottom</div><div class="ttdoc">bottom of the border</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00395">Types.h:395</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ab237a0a375cf382d52b61653248d3d4a"><div class="ttname"><a href="namespacearm__compute.xhtml#ab237a0a375cf382d52b61653248d3d4a">arm_compute::ceil_to_multiple</a></div><div class="ttdeci">auto ceil_to_multiple(S value, T divisor) -> decltype(((value+divisor - 1)/divisor) *divisor)</div><div class="ttdoc">Computes the smallest number larger or equal to value that is a multiple of divisor.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00065">Utils.h:65</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_coordinates_xhtml"><div class="ttname"><a href="classarm__compute_1_1_coordinates.xhtml">arm_compute::Coordinates</a></div><div class="ttdoc">Coordinates of an item.</div><div class="ttdef"><b>Definition:</b> <a href="_coordinates_8h_source.xhtml#l00037">Coordinates.h:37</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_window_xhtml_acd3d2bba51cb84d34dd7656ad2375a6e"><div class="ttname"><a href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">arm_compute::Window::set</a></div><div class="ttdeci">void set(size_t dimension, const Dimension &dim)</div><div class="ttdoc">Set the values of a given dimension.</div><div class="ttdef"><b>Definition:</b> <a href="_window_8inl_source.xhtml#l00041">Window.inl:41</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7819bcbbf45c2e7c1396a137dce54422"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7819bcbbf45c2e7c1396a137dce54422">arm_compute::test::validation::valid_region</a></div><div class="ttdeci">const ValidRegion valid_region</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00109">AbsoluteDifference.cpp:109</a></div></div>
+<div class="ttc" id="structarm__compute_1_1_border_size_xhtml_a05374b750b0fc472c34ee61e6f028bba"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">arm_compute::BorderSize::left</a></div><div class="ttdeci">unsigned int left</div><div class="ttdoc">left of the border</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00396">Types.h:396</a></div></div>
+<div class="ttc" id="structarm__compute_1_1_border_size_xhtml_a78b0fed184c642b78f32fd34b228a5f9"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml#a78b0fed184c642b78f32fd34b228a5f9">arm_compute::BorderSize::right</a></div><div class="ttdeci">unsigned int right</div><div class="ttdoc">right of the border</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00394">Types.h:394</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a80a5f2d6e3a697c9aad893a3b4242615"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">arm_compute::Dimensions::num_dimensions</a></div><div class="ttdeci">unsigned int num_dimensions() const</div><div class="ttdoc">Returns the effective dimensionality of the tensor.</div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00122">Dimensions.h:122</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_window_xhtml"><div class="ttname"><a href="classarm__compute_1_1_window.xhtml">arm_compute::Window</a></div><div class="ttdoc">Describe a multidimensional execution window.</div><div class="ttdef"><b>Definition:</b> <a href="_window_8h_source.xhtml#l00039">Window.h:39</a></div></div>
+<div class="ttc" id="structarm__compute_1_1_valid_region_xhtml_a55a69b397082accd94221dd10b722cf7"><div class="ttname"><a href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">arm_compute::ValidRegion::anchor</a></div><div class="ttdeci">Coordinates anchor</div><div class="ttdoc">Anchor for the start of the valid region.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00300">Types.h:300</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00300">ValidRegion::anchor</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00395">BorderSize::bottom</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00065">ceil_to_multiple()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00396">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#l00045">Dimensions< int >::num_max_dimensions</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00394">BorderSize::right</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, <a class="el" href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00097">arm_compute::test::validation::shape</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00301">ValidRegion::shape</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00393">BorderSize::top</a>, and <a class="el" href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00109">arm_compute::test::validation::valid_region</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00443">calculate_max_window()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00042">GCLogits1DMaxKernel::configure()</a>, <a class="el" href="_c_l_integral_image_kernel_8cpp_source.xhtml#l00039">CLIntegralImageHorKernel::configure()</a>, <a class="el" href="_c_l_warp_perspective_kernel_8cpp_source.xhtml#l00061">CLWarpPerspectiveKernel::configure()</a>, <a class="el" href="_c_l_box3x3_kernel_8cpp_source.xhtml#l00043">CLBox3x3Kernel::configure()</a>, <a class="el" href="_c_l_median3x3_kernel_8cpp_source.xhtml#l00039">CLMedian3x3Kernel::configure()</a>, <a class="el" href="_c_l_element_wise_unary_layer_kernel_8cpp_source.xhtml#l00052">CLElementWiseUnaryLayerKernel::configure()</a>, <a class="el" href="_c_l_erode_kernel_8cpp_source.xhtml#l00039">CLErodeKernel::configure()</a>, <a class="el" href="_c_l_dilate_kernel_8cpp_source.xhtml#l00039">CLDilateKernel::configure()</a>, <a class="el" href="_c_l_gaussian3x3_kernel_8cpp_source.xhtml#l00042">CLGaussian3x3Kernel::configure()</a>, <a class="el" href="_n_e_reshape_layer_kernel_8cpp_source.xhtml#l00075">NEReshapeLayerKernel::configure()</a>, <a class="el" href="_g_c_transpose_kernel_8cpp_source.xhtml#l00040">GCTransposeKernel::configure()</a>, <a class="el" href="_c_l_non_maxima_suppression3x3_kernel_8cpp_source.xhtml#l00044">CLNonMaximaSuppression3x3Kernel::configure()</a>, <a class="el" href="_c_l_warp_affine_kernel_8cpp_source.xhtml#l00061">CLWarpAffineKernel::configure()</a>, <a class="el" href="_n_e_integral_image_kernel_8cpp_source.xhtml#l00038">NEIntegralImageKernel::configure()</a>, <a class="el" href="_g_c_scale_kernel_8cpp_source.xhtml#l00047">GCScaleKernel::configure()</a>, <a class="el" href="_n_e_box3x3_kernel_8cpp_source.xhtml#l00114">NEBox3x3Kernel::configure()</a>, <a class="el" href="_n_e_dilate_kernel_8cpp_source.xhtml#l00048">NEDilateKernel::configure()</a>, <a class="el" href="_n_e_erode_kernel_8cpp_source.xhtml#l00048">NEErodeKernel::configure()</a>, <a class="el" href="_n_e_gaussian3x3_kernel_8cpp_source.xhtml#l00041">NEGaussian3x3Kernel::configure()</a>, <a class="el" href="_n_e_median3x3_kernel_8cpp_source.xhtml#l00054">NEMedian3x3Kernel::configure()</a>, <a class="el" href="_c_l_non_linear_filter_kernel_8cpp_source.xhtml#l00056">CLNonLinearFilterKernel::configure()</a>, <a class="el" href="_c_l_reshape_layer_kernel_8cpp_source.xhtml#l00067">CLReshapeLayerKernel::configure()</a>, <a class="el" href="_c_l_reverse_kernel_8cpp_source.xhtml#l00068">CLReverseKernel::configure()</a>, <a class="el" href="_c_l_generate_proposals_layer_kernel_8cpp_source.xhtml#l00068">CLComputeAllAnchorsKernel::configure()</a>, <a class="el" href="_c_l_batch_to_space_layer_kernel_8cpp_source.xhtml#l00084">CLBatchToSpaceLayerKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00040">CLGradientKernel::configure()</a>, <a class="el" href="_c_l_permute_kernel_8cpp_source.xhtml#l00081">CLPermuteKernel::configure()</a>, <a class="el" href="_n_e_tile_kernel_8cpp_source.xhtml#l00064">NETileKernel::configure()</a>, <a class="el" href="_c_l_bitwise_and_kernel_8cpp_source.xhtml#l00040">CLBitwiseAndKernel::configure()</a>, <a class="el" href="_c_l_memset_kernel_8cpp_source.xhtml#l00042">CLMemsetKernel::configure()</a>, <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00062">CLMinMaxKernel::configure()</a>, <a class="el" href="_c_l_reorg_layer_kernel_8cpp_source.xhtml#l00076">CLReorgLayerKernel::configure()</a>, <a class="el" href="_c_l_remap_kernel_8cpp_source.xhtml#l00050">CLRemapKernel::configure()</a>, <a class="el" href="_n_e_copy_kernel_8cpp_source.xhtml#l00040">NECopyKernel::configure()</a>, <a class="el" href="_c_l_bitwise_or_kernel_8cpp_source.xhtml#l00041">CLBitwiseOrKernel::configure()</a>, <a class="el" href="_c_l_tile_kernel_8cpp_source.xhtml#l00068">CLTileKernel::configure()</a>, <a class="el" href="_c_l_space_to_batch_layer_kernel_8cpp_source.xhtml#l00089">CLSpaceToBatchLayerKernel::configure()</a>, <a class="el" href="_c_l_upsample_layer_kernel_8cpp_source.xhtml#l00066">CLUpsampleLayerKernel::configure()</a>, <a class="el" href="_c_l_bitwise_xor_kernel_8cpp_source.xhtml#l00041">CLBitwiseXorKernel::configure()</a>, <a class="el" href="_i_g_c_simple_kernel_8cpp_source.xhtml#l00038">IGCSimpleKernel::configure()</a>, <a class="el" href="_g_c_activation_layer_kernel_8cpp_source.xhtml#l00047">GCActivationLayerKernel::configure()</a>, <a class="el" href="_i_c_l_simple_kernel_8cpp_source.xhtml#l00038">ICLSimpleKernel::configure()</a>, <a class="el" href="_g_c_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00047">GCPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_c_l_deconvolution_layer_upsample_kernel_8cpp_source.xhtml#l00073">CLDeconvolutionLayerUpsampleKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_reshape_weights_generic_kernel_8cpp_source.xhtml#l00070">CLDepthwiseConvolutionLayerReshapeWeightsGenericKernel::configure()</a>, <a class="el" href="_c_l_derivative_kernel_8cpp_source.xhtml#l00050">CLDerivativeKernel::configure()</a>, <a class="el" href="_c_l_sobel3x3_kernel_8cpp_source.xhtml#l00050">CLSobel3x3Kernel::configure()</a>, <a class="el" href="_c_p_p_flip_weights_kernel_8cpp_source.xhtml#l00069">CPPFlipWeightsKernel::configure()</a>, <a class="el" href="_n_e_reverse_kernel_8cpp_source.xhtml#l00078">NEReverseKernel::configure()</a>, <a class="el" href="_c_l_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00048">CLHOGOrientationBinningKernel::configure()</a>, <a class="el" href="_n_e_warp_kernel_8cpp_source.xhtml#l00067">INEWarpKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_addition_kernel_8cpp_source.xhtml#l00043">GCGEMMMatrixAdditionKernel::configure()</a>, <a class="el" href="_g_c_normalization_layer_kernel_8cpp_source.xhtml#l00049">GCNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_bounding_box_transform_kernel_8cpp_source.xhtml#l00070">CLBoundingBoxTransformKernel::configure()</a>, <a class="el" href="_g_c_absolute_difference_kernel_8cpp_source.xhtml#l00047">GCAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_n_e_bitwise_not_kernel_8cpp_source.xhtml#l00056">NEBitwiseNotKernel::configure()</a>, <a class="el" href="_c_l_depthwise_vector_to_tensor_kernel_8cpp_source.xhtml#l00064">CLDepthwiseVectorToTensorKernel::configure()</a>, <a class="el" href="_n_e_channel_shuffle_layer_kernel_8cpp_source.xhtml#l00144">NEChannelShuffleLayerKernel::configure()</a>, <a class="el" href="_c_l_absolute_difference_kernel_8cpp_source.xhtml#l00047">CLAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_c_l_channel_extract_kernel_8cpp_source.xhtml#l00050">CLChannelExtractKernel::configure()</a>, <a class="el" href="_n_e_reorg_layer_kernel_8cpp_source.xhtml#l00114">NEReorgLayerKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_transpose1x_w_kernel_8cpp_source.xhtml#l00041">GCGEMMTranspose1xWKernel::configure()</a>, <a class="el" href="_c_l_magnitude_phase_kernel_8cpp_source.xhtml#l00046">CLMagnitudePhaseKernel::configure()</a>, <a class="el" href="_c_l_mean_std_dev_kernel_8cpp_source.xhtml#l00066">CLMeanStdDevKernel::configure()</a>, <a class="el" href="_n_e_bitwise_and_kernel_8cpp_source.xhtml#l00061">NEBitwiseAndKernel::configure()</a>, <a class="el" href="_n_e_bitwise_or_kernel_8cpp_source.xhtml#l00057">NEBitwiseOrKernel::configure()</a>, <a class="el" href="_n_e_bitwise_xor_kernel_8cpp_source.xhtml#l00057">NEBitwiseXorKernel::configure()</a>, <a class="el" href="_n_e_depthwise_weights_reshape_kernel_8cpp_source.xhtml#l00106">NEDepthwiseWeightsReshapeKernel::configure()</a>, <a class="el" href="_c_l_color_convert_kernel_8cpp_source.xhtml#l00048">CLColorConvertKernel::configure()</a>, <a class="el" href="_n_e_memset_kernel_8cpp_source.xhtml#l00040">NEMemsetKernel::configure()</a>, <a class="el" href="_c_l_depthwise_im2_col_kernel_8cpp_source.xhtml#l00065">CLDepthwiseIm2ColKernel::configure()</a>, <a class="el" href="_c_l_channel_combine_kernel_8cpp_source.xhtml#l00049">CLChannelCombineKernel::configure()</a>, <a class="el" href="_c_l_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00098">CLFuseBatchNormalizationKernel::configure()</a>, <a class="el" href="_n_e_derivative_kernel_8cpp_source.xhtml#l00054">NEDerivativeKernel::configure()</a>, <a class="el" href="_c_p_p_permute_kernel_8cpp_source.xhtml#l00108">CPPPermuteKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00057">CLConvolutionKernel< matrix_size >::configure()</a>, <a class="el" href="_c_l_convert_fully_connected_weights_kernel_8cpp_source.xhtml#l00040">CLConvertFullyConnectedWeightsKernel::configure()</a>, <a class="el" href="_n_e_remap_kernel_8cpp_source.xhtml#l00076">NERemapKernel::configure()</a>, <a class="el" href="_n_e_color_convert_kernel_8cpp_source.xhtml#l00045">NEColorConvertKernel::configure()</a>, <a class="el" href="_n_e_fast_corners_kernel_8cpp_source.xhtml#l00361">NEFastCornersKernel::configure()</a>, <a class="el" href="_n_e_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00632">NEHOGOrientationBinningKernel::configure()</a>, <a class="el" href="_g_c_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00050">GCDepthConcatenateLayerKernel::configure()</a>, <a class="el" href="_n_e_non_linear_filter_kernel_8cpp_source.xhtml#l00353">NENonLinearFilterKernel::configure()</a>, <a class="el" href="_n_e_threshold_kernel_8cpp_source.xhtml#l00045">NEThresholdKernel::configure()</a>, <a class="el" href="_c_p_p_upsample_kernel_8cpp_source.xhtml#l00049">CPPUpsampleKernel::configure()</a>, <a class="el" href="_c_l_integral_image_kernel_8cpp_source.xhtml#l00071">CLIntegralImageVertKernel::configure()</a>, <a class="el" href="_n_e_absolute_difference_kernel_8cpp_source.xhtml#l00133">NEAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_n_e_depthwise_vector_to_tensor_kernel_8cpp_source.xhtml#l00098">NEDepthwiseVectorToTensorKernel::configure()</a>, <a class="el" href="_n_e_channel_extract_kernel_8cpp_source.xhtml#l00052">NEChannelExtractKernel::configure()</a>, <a class="el" href="_n_e_min_max_location_kernel_8cpp_source.xhtml#l00049">NEMinMaxKernel::configure()</a>, <a class="el" href="_n_e_non_maxima_suppression3x3_kernel_8cpp_source.xhtml#l00462">NENonMaximaSuppression3x3Kernel::configure()</a>, <a class="el" href="_n_e_fill_array_kernel_8cpp_source.xhtml#l00039">NEFillArrayKernel::configure()</a>, <a class="el" href="_n_e_permute_kernel_8cpp_source.xhtml#l00242">NEPermuteKernel::configure()</a>, <a class="el" href="_n_e_magnitude_phase_kernel_8cpp_source.xhtml#l00250">NEMagnitudePhaseKernel< mag_type, phase_type >::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l00877">NEGradientKernel::configure()</a>, <a class="el" href="_n_e_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00205">NEFuseBatchNormalizationKernel::configure()</a>, <a class="el" href="_g_c_dropout_layer_kernel_8cpp_source.xhtml#l00048">GCDropoutLayerKernel::configure()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00107">GCLogits1DShiftExpSumKernel::configure()</a>, <a class="el" href="_n_e_depthwise_im2_col_kernel_8cpp_source.xhtml#l00137">NEDepthwiseIm2ColKernel::configure()</a>, <a class="el" href="_n_e_elementwise_unary_kernel_8cpp_source.xhtml#l00143">NEElementwiseUnaryKernel::configure()</a>, <a class="el" href="_n_e_mean_std_dev_kernel_8cpp_source.xhtml#l00097">NEMeanStdDevKernel::configure()</a>, <a class="el" href="_c_l_harris_corners_kernel_8cpp_source.xhtml#l00054">CLHarrisScoreKernel::configure()</a>, <a class="el" href="_n_e_select_kernel_8cpp_source.xhtml#l00167">NESelectKernel::configure()</a>, <a class="el" href="_n_e_channel_combine_kernel_8cpp_source.xhtml#l00052">NEChannelCombineKernel::configure()</a>, <a class="el" href="_c_p_p_corner_candidates_kernel_8cpp_source.xhtml#l00074">CPPCornerCandidatesKernel::configure()</a>, <a class="el" href="_n_e_gather_kernel_8cpp_source.xhtml#l00107">NEGatherKernel::configure()</a>, <a class="el" href="_n_e_convert_fully_connected_weights_kernel_8cpp_source.xhtml#l00036">NEConvertFullyConnectedWeightsKernel::configure()</a>, <a class="el" href="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00050">CLFastCornersKernel::configure()</a>, <a class="el" href="_c_p_p_box_with_non_maxima_suppression_limit_kernel_8cpp_source.xhtml#l00349">CPPBoxWithNonMaximaSuppressionLimitKernel::configure()</a>, <a class="el" href="_n_e_cumulative_distribution_kernel_8cpp_source.xhtml#l00050">NECumulativeDistributionKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_interleave4x4_kernel_8cpp_source.xhtml#l00044">GCGEMMInterleave4x4Kernel::configure()</a>, <a class="el" href="_n_e_sobel3x3_kernel_8cpp_source.xhtml#l00048">NESobel3x3Kernel::configure()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l00324">NEConvolutionKernel< matrix_size >::configure()</a>, <a class="el" href="_c_l_scharr3x3_kernel_8cpp_source.xhtml#l00050">CLScharr3x3Kernel::configure()</a>, <a class="el" href="_n_e_scharr3x3_kernel_8cpp_source.xhtml#l00090">NEScharr3x3Kernel::configure()</a>, <a class="el" href="_n_e_histogram_kernel_8cpp_source.xhtml#l00195">NEHistogramKernel::configure()</a>, <a class="el" href="_n_e_gaussian5x5_kernel_8cpp_source.xhtml#l00118">NEGaussian5x5VertKernel::configure()</a>, <a class="el" href="_g_c_weights_reshape_kernel_8cpp_source.xhtml#l00046">GCWeightsReshapeKernel::configure()</a>, <a class="el" href="_g_c_col2_im_kernel_8cpp_source.xhtml#l00044">GCCol2ImKernel::configure()</a>, <a class="el" href="_g_c_im2_col_kernel_8cpp_source.xhtml#l00067">GCIm2ColKernel::configure()</a>, <a class="el" href="_c_l_weights_reshape_kernel_8cpp_source.xhtml#l00078">CLWeightsReshapeKernel::configure()</a>, <a class="el" href="_c_l_gaussian_pyramid_kernel_8cpp_source.xhtml#l00136">CLGaussianPyramidVertKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00111">CLEdgeNonMaxSuppressionKernel::configure()</a>, <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00169">CLMinMaxLocationKernel::configure()</a>, <a class="el" href="_n_e_harris_corners_kernel_8cpp_source.xhtml#l00736">NEHarrisScoreKernel< block_size >::configure()</a>, <a class="el" href="_c_l_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00125">CLHOGBlockNormalizationKernel::configure()</a>, <a class="el" href="_n_e_gaussian_pyramid_kernel_8cpp_source.xhtml#l00161">NEGaussianPyramidVertKernel::configure()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00201">GCLogits1DNormKernel::configure()</a>, <a class="el" href="_c_l_sobel7x7_kernel_8cpp_source.xhtml#l00147">CLSobel7x7VertKernel::configure()</a>, <a class="el" href="_c_l_sobel5x5_kernel_8cpp_source.xhtml#l00144">CLSobel5x5VertKernel::configure()</a>, <a class="el" href="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00115">CLCopyToArrayKernel::configure()</a>, <a class="el" href="_n_e_sobel5x5_kernel_8cpp_source.xhtml#l00217">NESobel5x5VertKernel::configure()</a>, <a class="el" href="_n_e_sobel7x7_kernel_8cpp_source.xhtml#l00307">NESobel7x7VertKernel::configure()</a>, <a class="el" href="_n_e_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00714">NEHOGBlockNormalizationKernel::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l00970">NEEdgeNonMaxSuppressionKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00180">CLSeparableConvolutionVertKernel< matrix_size >::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00173">CLEdgeTraceKernel::configure()</a>, <a class="el" href="_n_e_min_max_location_kernel_8cpp_source.xhtml#l00335">NEMinMaxLocationKernel::configure()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l01103">NESeparableConvolutionVertKernel< matrix_size >::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00246">CLConvolutionRectangleKernel::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l01059">NEEdgeTraceKernel::configure()</a>, and <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l01427">NEConvolutionRectangleKernel::configure()</a>.</p>
+
</div>
</div>
<a id="aa2117aef4381edbdf81e17ec088df7f1"></a>
@@ -8252,7 +8989,7 @@
<p>Calculate the maximum window for a given tensor shape and border setting. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> info object defining the shape of the object for which the window is created. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface.">Tensor</a> info object defining the shape of the object for which the window is created. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">steps</td><td>(Optional) Number of elements processed for each step. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">skip_border</td><td>(Optional) If true exclude the border region from the window. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">border_size</td><td>(Optional) Border size.</td></tr>
@@ -8261,12 +8998,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00409">409</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
-
-<p class="reference">References <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00028">calculate_max_window()</a>, <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00131">calculate_max_window_horizontal()</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="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> <a class="code" href="namespacearm__compute.xhtml#aa2117aef4381edbdf81e17ec088df7f1">calculate_max_window</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.valid_region(), steps, skip_border, border_size);</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_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_aa2117aef4381edbdf81e17ec088df7f1"><div class="ttname"><a href="namespacearm__compute.xhtml#aa2117aef4381edbdf81e17ec088df7f1">arm_compute::calculate_max_window</a></div><div class="ttdeci">Window calculate_max_window(const ITensorInfo &info, const Steps &steps=Steps(), bool skip_border=false, BorderSize border_size=BorderSize())</div><div class="ttdoc">Calculate the maximum window for a given tensor shape and border setting. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00409">Helpers.h:409</a></div></div>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00443">443</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="l00444"></a><span class="lineno"> 444</span> {</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#aa2117aef4381edbdf81e17ec088df7f1">calculate_max_window</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.valid_region(), steps, skip_border, border_size);</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_aa2117aef4381edbdf81e17ec088df7f1"><div class="ttname"><a href="namespacearm__compute.xhtml#aa2117aef4381edbdf81e17ec088df7f1">arm_compute::calculate_max_window</a></div><div class="ttdeci">Window calculate_max_window(const ITensorInfo &info, const Steps &steps=Steps(), bool skip_border=false, BorderSize border_size=BorderSize())</div><div class="ttdoc">Calculate the maximum window for a given tensor shape and border setting.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00443">Helpers.h:443</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a4f4125dba5283887b34f889b1c615c0c"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">arm_compute::test::validation::info</a></div><div class="ttdeci">info</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">ConvolutionLayer.cpp:174</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00028">calculate_max_window()</a>, and <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">arm_compute::test::validation::info</a>.</p>
+
</div>
</div>
<a id="a9047a414d692d8814181a667a7ee68c4"></a>
@@ -8320,25 +9057,26 @@
<dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
<p class="definition">Definition at line <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00131">131</a> of file <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml">Helpers.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00281">ValidRegion::anchor</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00376">BorderSize::bottom</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00065">ceil_to_multiple()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00377">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#l00045">Dimensions< int >::num_max_dimensions</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00375">BorderSize::right</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, <a class="el" href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00096">arm_compute::test::validation::shape</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00282">ValidRegion::shape</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00374">BorderSize::top</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00409">calculate_max_window()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00434">calculate_max_window_horizontal()</a>, <a class="el" href="_n_e_gaussian5x5_kernel_8cpp_source.xhtml#l00050">NEGaussian5x5HorKernel::configure()</a>, <a class="el" href="_c_l_gaussian_pyramid_kernel_8cpp_source.xhtml#l00044">CLGaussianPyramidHorKernel::configure()</a>, <a class="el" href="_n_e_gaussian_pyramid_kernel_8cpp_source.xhtml#l00053">NEGaussianPyramidHorKernel::configure()</a>, <a class="el" href="_c_l_sobel5x5_kernel_8cpp_source.xhtml#l00050">CLSobel5x5HorKernel::configure()</a>, <a class="el" href="_c_l_sobel7x7_kernel_8cpp_source.xhtml#l00050">CLSobel7x7HorKernel::configure()</a>, <a class="el" href="_n_e_sobel7x7_kernel_8cpp_source.xhtml#l00153">NESobel7x7HorKernel::configure()</a>, <a class="el" href="_n_e_sobel5x5_kernel_8cpp_source.xhtml#l00050">NESobel5x5HorKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00127">CLSeparableConvolutionHorKernel< matrix_size >::configure()</a>, and <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l00666">NESeparableConvolutionHorKernel< matrix_size >::configure()</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>  <span class="keywordflow">if</span>(skip_border)</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>  border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a3fdd42ea34070a54e696b3adc28c4be3">top</a> = 0;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a802ffcf1b49237efe5be8a314d3f3869">bottom</a> = 0;</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="keywordflow">else</span></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>  border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">left</a> = 0;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a78b0fed184c642b78f32fd34b228a5f9">right</a> = 0;</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> </div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keyword">const</span> <a class="code" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &anchor = valid_region.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">anchor</a>;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keyword">const</span> <a class="code" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a> = valid_region.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">shape</a>;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <a class="code" href="classarm__compute_1_1_window.xhtml">Window</a> window;</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>  window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(0, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="comment">// Skip the border left of the image</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  anchor[0] + border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">left</a>,</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="comment">// Skip the border right of the image</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="comment">// Make sure the window width is a multiple of the step size</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  anchor[0] + border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">left</a> + <a class="code" href="namespacearm__compute.xhtml#ab237a0a375cf382d52b61653248d3d4a">ceil_to_multiple</a>(std::max(0, static_cast<int>(shape[0]) - static_cast<int>(border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">left</a>) - static_cast<int>(border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a78b0fed184c642b78f32fd34b228a5f9">right</a>)), steps[0]),</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  steps[0]));</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="keywordtype">size_t</span> n = 1;</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="keywordflow">if</span>(anchor.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">num_dimensions</a>() > 1)</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>  window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(1, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="comment">// Skip the border above the image</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  anchor[1] - border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a3fdd42ea34070a54e696b3adc28c4be3">top</a>,</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="comment">// Skip the border below the image</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  anchor[1] + shape[1] + border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a802ffcf1b49237efe5be8a314d3f3869">bottom</a>,</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  1));</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>  ++n;</div><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> </div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keywordflow">for</span>(; n < anchor.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">num_dimensions</a>(); ++n)</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>  window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(n, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(anchor[n], std::max<size_t>(1, shape[n])));</div><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> </div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <span class="keywordflow">for</span>(; n < Coordinates::num_max_dimensions; ++n)</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  {</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(n, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(0, 1));</div><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> </div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <span class="keywordflow">return</span> window;</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span> }</div><div class="ttc" id="structarm__compute_1_1_border_size_xhtml_a3fdd42ea34070a54e696b3adc28c4be3"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml#a3fdd42ea34070a54e696b3adc28c4be3">arm_compute::BorderSize::top</a></div><div class="ttdeci">unsigned int top</div><div class="ttdoc">top of the border </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00374">Types.h:374</a></div></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_arithmetic_division_8cpp_source.xhtml#l00096">ArithmeticDivision.cpp:96</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_tensor_shape_xhtml"><div class="ttname"><a href="classarm__compute_1_1_tensor_shape.xhtml">arm_compute::TensorShape</a></div><div class="ttdoc">Shape of a tensor. </div><div class="ttdef"><b>Definition:</b> <a href="_tensor_shape_8h_source.xhtml#l00039">TensorShape.h:39</a></div></div>
-<div class="ttc" id="structarm__compute_1_1_valid_region_xhtml_a1fcd64682b37ed3c2098d0094ce788d8"><div class="ttname"><a href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">arm_compute::ValidRegion::shape</a></div><div class="ttdeci">TensorShape shape</div><div class="ttdoc">Shape of the valid region. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00282">Types.h:282</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_window_1_1_dimension_xhtml"><div class="ttname"><a href="classarm__compute_1_1_window_1_1_dimension.xhtml">arm_compute::Window::Dimension</a></div><div class="ttdoc">Describe one of the image&#39;s dimensions with a start, end and step. </div><div class="ttdef"><b>Definition:</b> <a href="_window_8h_source.xhtml#l00068">Window.h:68</a></div></div>
-<div class="ttc" id="structarm__compute_1_1_border_size_xhtml_a802ffcf1b49237efe5be8a314d3f3869"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml#a802ffcf1b49237efe5be8a314d3f3869">arm_compute::BorderSize::bottom</a></div><div class="ttdeci">unsigned int bottom</div><div class="ttdoc">bottom of the border </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00376">Types.h:376</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ab237a0a375cf382d52b61653248d3d4a"><div class="ttname"><a href="namespacearm__compute.xhtml#ab237a0a375cf382d52b61653248d3d4a">arm_compute::ceil_to_multiple</a></div><div class="ttdeci">auto ceil_to_multiple(S value, T divisor) -> decltype(((value+divisor - 1)/divisor) *divisor)</div><div class="ttdoc">Computes the smallest number larger or equal to value that is a multiple of divisor. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00065">Utils.h:65</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_coordinates_xhtml"><div class="ttname"><a href="classarm__compute_1_1_coordinates.xhtml">arm_compute::Coordinates</a></div><div class="ttdoc">Coordinates of an item. </div><div class="ttdef"><b>Definition:</b> <a href="_coordinates_8h_source.xhtml#l00037">Coordinates.h:37</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_window_xhtml_acd3d2bba51cb84d34dd7656ad2375a6e"><div class="ttname"><a href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">arm_compute::Window::set</a></div><div class="ttdeci">void set(size_t dimension, const Dimension &dim)</div><div class="ttdoc">Set the values of a given dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_window_8inl_source.xhtml#l00041">Window.inl:41</a></div></div>
-<div class="ttc" id="structarm__compute_1_1_border_size_xhtml_a05374b750b0fc472c34ee61e6f028bba"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">arm_compute::BorderSize::left</a></div><div class="ttdeci">unsigned int left</div><div class="ttdoc">left of the border </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00377">Types.h:377</a></div></div>
-<div class="ttc" id="structarm__compute_1_1_border_size_xhtml_a78b0fed184c642b78f32fd34b228a5f9"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml#a78b0fed184c642b78f32fd34b228a5f9">arm_compute::BorderSize::right</a></div><div class="ttdeci">unsigned int right</div><div class="ttdoc">right of the border </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00375">Types.h:375</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a80a5f2d6e3a697c9aad893a3b4242615"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">arm_compute::Dimensions::num_dimensions</a></div><div class="ttdeci">unsigned int num_dimensions() const</div><div class="ttdoc">Returns the effective dimensionality of the tensor. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00122">Dimensions.h:122</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_window_xhtml"><div class="ttname"><a href="classarm__compute_1_1_window.xhtml">arm_compute::Window</a></div><div class="ttdoc">Describe a multidimensional execution window. </div><div class="ttdef"><b>Definition:</b> <a href="_window_8h_source.xhtml#l00039">Window.h:39</a></div></div>
-<div class="ttc" id="structarm__compute_1_1_valid_region_xhtml_a55a69b397082accd94221dd10b722cf7"><div class="ttname"><a href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">arm_compute::ValidRegion::anchor</a></div><div class="ttdeci">Coordinates anchor</div><div class="ttdoc">Anchor for the start of the valid region. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00281">Types.h:281</a></div></div>
+<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>  <span class="keywordflow">if</span>(skip_border)</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>  border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a3fdd42ea34070a54e696b3adc28c4be3">top</a> = 0;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a802ffcf1b49237efe5be8a314d3f3869">bottom</a> = 0;</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="keywordflow">else</span></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>  border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">left</a> = 0;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a78b0fed184c642b78f32fd34b228a5f9">right</a> = 0;</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> </div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keyword">const</span> <a class="code" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &anchor = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7819bcbbf45c2e7c1396a137dce54422">valid_region</a>.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">anchor</a>;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keyword">const</span> <a class="code" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &<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#a7819bcbbf45c2e7c1396a137dce54422">valid_region</a>.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">shape</a>;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <a class="code" href="classarm__compute_1_1_window.xhtml">Window</a> window;</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>  window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(0, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="comment">// Skip the border left of the image</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  anchor[0] + border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">left</a>,</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="comment">// Skip the border right of the image</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="comment">// Make sure the window width is a multiple of the step size</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  anchor[0] + border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">left</a> + <a class="code" href="namespacearm__compute.xhtml#ab237a0a375cf382d52b61653248d3d4a">ceil_to_multiple</a>(std::max(0, static_cast<int>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>[0]) - static_cast<int>(border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">left</a>) - static_cast<int>(border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a78b0fed184c642b78f32fd34b228a5f9">right</a>)), steps[0]),</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  steps[0]));</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="keywordtype">size_t</span> n = 1;</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="keywordflow">if</span>(anchor.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">num_dimensions</a>() > 1)</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>  window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(1, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="comment">// Skip the border above the image</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  anchor[1] - border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a3fdd42ea34070a54e696b3adc28c4be3">top</a>,</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="comment">// Skip the border below the image</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  anchor[1] + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>[1] + border_size.<a class="code" href="structarm__compute_1_1_border_size.xhtml#a802ffcf1b49237efe5be8a314d3f3869">bottom</a>,</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  1));</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>  ++n;</div><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> </div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keywordflow">for</span>(; n < anchor.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">num_dimensions</a>(); ++n)</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>  window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(n, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(anchor[n], std::max<size_t>(1, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>[n])));</div><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> </div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <span class="keywordflow">for</span>(; n < Coordinates::num_max_dimensions; ++n)</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  {</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  window.<a class="code" href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">set</a>(n, <a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a>(0, 1));</div><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> </div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <span class="keywordflow">return</span> window;</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span> }</div><div class="ttc" id="structarm__compute_1_1_border_size_xhtml_a3fdd42ea34070a54e696b3adc28c4be3"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml#a3fdd42ea34070a54e696b3adc28c4be3">arm_compute::BorderSize::top</a></div><div class="ttdeci">unsigned int top</div><div class="ttdoc">top of the border</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00393">Types.h:393</a></div></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_absolute_difference_8cpp_source.xhtml#l00097">AbsoluteDifference.cpp:97</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_tensor_shape_xhtml"><div class="ttname"><a href="classarm__compute_1_1_tensor_shape.xhtml">arm_compute::TensorShape</a></div><div class="ttdoc">Shape of a tensor.</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_shape_8h_source.xhtml#l00039">TensorShape.h:39</a></div></div>
+<div class="ttc" id="structarm__compute_1_1_valid_region_xhtml_a1fcd64682b37ed3c2098d0094ce788d8"><div class="ttname"><a href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">arm_compute::ValidRegion::shape</a></div><div class="ttdeci">TensorShape shape</div><div class="ttdoc">Shape of the valid region.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00301">Types.h:301</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_window_1_1_dimension_xhtml"><div class="ttname"><a href="classarm__compute_1_1_window_1_1_dimension.xhtml">arm_compute::Window::Dimension</a></div><div class="ttdoc">Describe one of the image's dimensions with a start, end and step.</div><div class="ttdef"><b>Definition:</b> <a href="_window_8h_source.xhtml#l00068">Window.h:68</a></div></div>
+<div class="ttc" id="structarm__compute_1_1_border_size_xhtml_a802ffcf1b49237efe5be8a314d3f3869"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml#a802ffcf1b49237efe5be8a314d3f3869">arm_compute::BorderSize::bottom</a></div><div class="ttdeci">unsigned int bottom</div><div class="ttdoc">bottom of the border</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00395">Types.h:395</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ab237a0a375cf382d52b61653248d3d4a"><div class="ttname"><a href="namespacearm__compute.xhtml#ab237a0a375cf382d52b61653248d3d4a">arm_compute::ceil_to_multiple</a></div><div class="ttdeci">auto ceil_to_multiple(S value, T divisor) -> decltype(((value+divisor - 1)/divisor) *divisor)</div><div class="ttdoc">Computes the smallest number larger or equal to value that is a multiple of divisor.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00065">Utils.h:65</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_coordinates_xhtml"><div class="ttname"><a href="classarm__compute_1_1_coordinates.xhtml">arm_compute::Coordinates</a></div><div class="ttdoc">Coordinates of an item.</div><div class="ttdef"><b>Definition:</b> <a href="_coordinates_8h_source.xhtml#l00037">Coordinates.h:37</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_window_xhtml_acd3d2bba51cb84d34dd7656ad2375a6e"><div class="ttname"><a href="classarm__compute_1_1_window.xhtml#acd3d2bba51cb84d34dd7656ad2375a6e">arm_compute::Window::set</a></div><div class="ttdeci">void set(size_t dimension, const Dimension &dim)</div><div class="ttdoc">Set the values of a given dimension.</div><div class="ttdef"><b>Definition:</b> <a href="_window_8inl_source.xhtml#l00041">Window.inl:41</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7819bcbbf45c2e7c1396a137dce54422"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7819bcbbf45c2e7c1396a137dce54422">arm_compute::test::validation::valid_region</a></div><div class="ttdeci">const ValidRegion valid_region</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00109">AbsoluteDifference.cpp:109</a></div></div>
+<div class="ttc" id="structarm__compute_1_1_border_size_xhtml_a05374b750b0fc472c34ee61e6f028bba"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml#a05374b750b0fc472c34ee61e6f028bba">arm_compute::BorderSize::left</a></div><div class="ttdeci">unsigned int left</div><div class="ttdoc">left of the border</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00396">Types.h:396</a></div></div>
+<div class="ttc" id="structarm__compute_1_1_border_size_xhtml_a78b0fed184c642b78f32fd34b228a5f9"><div class="ttname"><a href="structarm__compute_1_1_border_size.xhtml#a78b0fed184c642b78f32fd34b228a5f9">arm_compute::BorderSize::right</a></div><div class="ttdeci">unsigned int right</div><div class="ttdoc">right of the border</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00394">Types.h:394</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a80a5f2d6e3a697c9aad893a3b4242615"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">arm_compute::Dimensions::num_dimensions</a></div><div class="ttdeci">unsigned int num_dimensions() const</div><div class="ttdoc">Returns the effective dimensionality of the tensor.</div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00122">Dimensions.h:122</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_window_xhtml"><div class="ttname"><a href="classarm__compute_1_1_window.xhtml">arm_compute::Window</a></div><div class="ttdoc">Describe a multidimensional execution window.</div><div class="ttdef"><b>Definition:</b> <a href="_window_8h_source.xhtml#l00039">Window.h:39</a></div></div>
+<div class="ttc" id="structarm__compute_1_1_valid_region_xhtml_a55a69b397082accd94221dd10b722cf7"><div class="ttname"><a href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">arm_compute::ValidRegion::anchor</a></div><div class="ttdeci">Coordinates anchor</div><div class="ttdoc">Anchor for the start of the valid region.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00300">Types.h:300</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00300">ValidRegion::anchor</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00395">BorderSize::bottom</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00065">ceil_to_multiple()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00396">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#l00045">Dimensions< int >::num_max_dimensions</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00394">BorderSize::right</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, <a class="el" href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00097">arm_compute::test::validation::shape</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00301">ValidRegion::shape</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00393">BorderSize::top</a>, and <a class="el" href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00109">arm_compute::test::validation::valid_region</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00468">calculate_max_window_horizontal()</a>, <a class="el" href="_n_e_gaussian5x5_kernel_8cpp_source.xhtml#l00050">NEGaussian5x5HorKernel::configure()</a>, <a class="el" href="_c_l_gaussian_pyramid_kernel_8cpp_source.xhtml#l00044">CLGaussianPyramidHorKernel::configure()</a>, <a class="el" href="_c_l_sobel5x5_kernel_8cpp_source.xhtml#l00050">CLSobel5x5HorKernel::configure()</a>, <a class="el" href="_n_e_gaussian_pyramid_kernel_8cpp_source.xhtml#l00053">NEGaussianPyramidHorKernel::configure()</a>, <a class="el" href="_c_l_sobel7x7_kernel_8cpp_source.xhtml#l00050">CLSobel7x7HorKernel::configure()</a>, <a class="el" href="_n_e_sobel7x7_kernel_8cpp_source.xhtml#l00153">NESobel7x7HorKernel::configure()</a>, <a class="el" href="_n_e_sobel5x5_kernel_8cpp_source.xhtml#l00050">NESobel5x5HorKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00127">CLSeparableConvolutionHorKernel< matrix_size >::configure()</a>, and <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l00666">NESeparableConvolutionHorKernel< matrix_size >::configure()</a>.</p>
+
</div>
</div>
<a id="a47456b4d520aee1cba80bf6e20f6685a"></a>
@@ -8390,7 +9128,7 @@
<p>Calculate the maximum window used by a horizontal kernel for a given tensor shape and border setting. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> info object defining the shape of the object for which the window is created. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface.">Tensor</a> info object defining the shape of the object for which the window is created. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">steps</td><td>(Optional) Number of elements processed for each step. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">skip_border</td><td>(Optional) If true exclude the border region from the window. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">border_size</td><td>(Optional) Border size.</td></tr>
@@ -8399,16 +9137,16 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00434">434</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
-
-<p class="reference">References <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00082">calculate_max_enlarged_window()</a>, <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00131">calculate_max_window_horizontal()</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="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> <a class="code" href="namespacearm__compute.xhtml#a47456b4d520aee1cba80bf6e20f6685a">calculate_max_window_horizontal</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.valid_region(), steps, skip_border, border_size);</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_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_a47456b4d520aee1cba80bf6e20f6685a"><div class="ttname"><a href="namespacearm__compute.xhtml#a47456b4d520aee1cba80bf6e20f6685a">arm_compute::calculate_max_window_horizontal</a></div><div class="ttdeci">Window calculate_max_window_horizontal(const ITensorInfo &info, const Steps &steps=Steps(), bool skip_border=false, BorderSize border_size=BorderSize())</div><div class="ttdoc">Calculate the maximum window used by a horizontal kernel for a given tensor shape and border setting...</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00434">Helpers.h:434</a></div></div>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00468">468</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="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> <a class="code" href="namespacearm__compute.xhtml#a47456b4d520aee1cba80bf6e20f6685a">calculate_max_window_horizontal</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.valid_region(), steps, skip_border, border_size);</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a47456b4d520aee1cba80bf6e20f6685a"><div class="ttname"><a href="namespacearm__compute.xhtml#a47456b4d520aee1cba80bf6e20f6685a">arm_compute::calculate_max_window_horizontal</a></div><div class="ttdeci">Window calculate_max_window_horizontal(const ITensorInfo &info, const Steps &steps=Steps(), bool skip_border=false, BorderSize border_size=BorderSize())</div><div class="ttdoc">Calculate the maximum window used by a horizontal kernel for a given tensor shape and border setting.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00468">Helpers.h:468</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a4f4125dba5283887b34f889b1c615c0c"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">arm_compute::test::validation::info</a></div><div class="ttdeci">info</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">ConvolutionLayer.cpp:174</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00131">calculate_max_window_horizontal()</a>, and <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">arm_compute::test::validation::info</a>.</p>
+
</div>
</div>
-<a id="a60e358f879bf4ca86ad938d1f1ef9a64"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a60e358f879bf4ca86ad938d1f1ef9a64">◆ </a></span>calculate_same_pad()</h2>
+<a id="a76d2c1e638da30c99ca2ff48051bcb04"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a76d2c1e638da30c99ca2ff48051bcb04">◆ </a></span>calculate_same_pad()</h2>
<div class="memitem">
<div class="memproto">
@@ -8429,7 +9167,13 @@
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> </td>
- <td class="paramname"><em>conv_info</em> </td>
+ <td class="paramname"><em>conv_info</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> </td>
+ <td class="paramname"><em>data_layout</em> = <code><a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">DataLayout::NCHW</a></code> </td>
</tr>
<tr>
<td></td>
@@ -8444,22 +9188,24 @@
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">input_shape</td><td>Input shape </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">weights_shape</td><td>Weights shape </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">conv_info</td><td>Convolution information (containing strides)</td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">conv_info</td><td>Convolution information (containing strides) </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">data_layout</td><td>(Optional) Data layout of the input and weights tensor</td></tr>
</table>
</dd>
</dl>
-<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml" title="Padding and stride information class. ">PadStrideInfo</a> for SAME padding </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml" title="Padding and stride information class.">PadStrideInfo</a> for SAME padding </dd></dl>
-<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00324">324</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">CEIL</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00733">PadStrideInfo::stride()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00081">Dimensions< T >::x()</a>, and <a class="el" href="_dimensions_8h_source.xhtml#l00086">Dimensions< T >::y()</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00762">data_type_for_convolution_matrix()</a>, and <a class="el" href="_n_e_depthwise_convolution_layer3x3_kernel_8cpp_source.xhtml#l00317">NEDepthwiseConvolutionLayer3x3Kernel::is_optimized_execution_possible()</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="keyword">const</span> <span class="keyword">auto</span> &strides = conv_info.<a class="code" href="classarm__compute_1_1_pad_stride_info.xhtml#a6e324c1bd1111876469ea247da156147">stride</a>();</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> out_width = std::ceil(<span class="keywordtype">float</span>(input_shape.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#aa87f8fc26981b0f3228a78c83b95b802">x</a>()) / <span class="keywordtype">float</span>(strides.first));</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> out_height = std::ceil(<span class="keywordtype">float</span>(input_shape.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#ac4a1050be02b20b3f791b9a483f3abe2">y</a>()) / <span class="keywordtype">float</span>(strides.second));</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> pad_width = ((out_width - 1) * strides.first + weights_shape.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#aa87f8fc26981b0f3228a78c83b95b802">x</a>() - input_shape.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#aa87f8fc26981b0f3228a78c83b95b802">x</a>());</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> pad_height = ((out_height - 1) * strides.second + weights_shape.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#ac4a1050be02b20b3f791b9a483f3abe2">y</a>() - input_shape.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#ac4a1050be02b20b3f791b9a483f3abe2">y</a>());</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> same_pad_left = pad_width / 2;</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> same_pad_top = pad_height / 2;</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> same_pad_right = pad_width - same_pad_left;</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> same_pad_bottom = pad_height - same_pad_top;</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> <a class="code" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a>(strides.first, strides.second, same_pad_left, same_pad_right, same_pad_top, same_pad_bottom, DimensionRoundingType::CEIL);</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span> }</div><div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_aa87f8fc26981b0f3228a78c83b95b802"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#aa87f8fc26981b0f3228a78c83b95b802">arm_compute::Dimensions::x</a></div><div class="ttdeci">T x() const</div><div class="ttdoc">Alias to access the size of the first dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00081">Dimensions.h:81</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_pad_stride_info_xhtml_a6e324c1bd1111876469ea247da156147"><div class="ttname"><a href="classarm__compute_1_1_pad_stride_info.xhtml#a6e324c1bd1111876469ea247da156147">arm_compute::PadStrideInfo::stride</a></div><div class="ttdeci">std::pair< unsigned int, unsigned int > stride() const</div><div class="ttdoc">Get the stride. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00733">Types.h:733</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_pad_stride_info_xhtml"><div class="ttname"><a href="classarm__compute_1_1_pad_stride_info.xhtml">arm_compute::PadStrideInfo</a></div><div class="ttdoc">Padding and stride information class. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00685">Types.h:685</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_ac4a1050be02b20b3f791b9a483f3abe2"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#ac4a1050be02b20b3f791b9a483f3abe2">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>
+<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00329">329</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</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="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> width_idx = <a class="code" href="namespacearm__compute.xhtml#a46e938020a3ac8c926d0590b7fe957db">arm_compute::get_data_layout_dimension_index</a>(data_layout, DataLayoutDimension::WIDTH);</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> height_idx = <a class="code" href="namespacearm__compute.xhtml#a46e938020a3ac8c926d0590b7fe957db">arm_compute::get_data_layout_dimension_index</a>(data_layout, DataLayoutDimension::HEIGHT);</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  <span class="keyword">const</span> <span class="keyword">auto</span> &strides = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acbf8f8a6dd185de04c1981c57a8963cf">conv_info</a>.stride();</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> out_width = std::ceil(<span class="keywordtype">float</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a865514e30baa11b11c8fa65f944532fb">input_shape</a>[width_idx]) / <span class="keywordtype">float</span>(strides.first));</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> out_height = std::ceil(<span class="keywordtype">float</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a865514e30baa11b11c8fa65f944532fb">input_shape</a>[height_idx]) / <span class="keywordtype">float</span>(strides.second));</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> pad_width = ((out_width - 1) * strides.first + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ae8f0126f051c787279a8c9ee3c3a5d55">weights_shape</a>[width_idx] - <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a865514e30baa11b11c8fa65f944532fb">input_shape</a>[width_idx]);</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> pad_height = ((out_height - 1) * strides.second + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ae8f0126f051c787279a8c9ee3c3a5d55">weights_shape</a>[height_idx] - <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a865514e30baa11b11c8fa65f944532fb">input_shape</a>[height_idx]);</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> same_pad_left = pad_width / 2;</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> same_pad_top = pad_height / 2;</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> same_pad_right = pad_width - same_pad_left;</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> same_pad_bottom = pad_height - same_pad_top;</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">return</span> <a class="code" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a>(strides.first, strides.second, same_pad_left, same_pad_right, same_pad_top, same_pad_bottom, DimensionRoundingType::CEIL);</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a865514e30baa11b11c8fa65f944532fb"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a865514e30baa11b11c8fa65f944532fb">arm_compute::test::validation::input_shape</a></div><div class="ttdeci">input_shape</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">ConvolutionLayer.cpp:174</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ae8f0126f051c787279a8c9ee3c3a5d55"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ae8f0126f051c787279a8c9ee3c3a5d55">arm_compute::test::validation::weights_shape</a></div><div class="ttdeci">weights_shape</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">ConvolutionLayer.cpp:174</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_pad_stride_info_xhtml"><div class="ttname"><a href="classarm__compute_1_1_pad_stride_info.xhtml">arm_compute::PadStrideInfo</a></div><div class="ttdoc">Padding and stride information class.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00721">Types.h:721</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_acbf8f8a6dd185de04c1981c57a8963cf"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#acbf8f8a6dd185de04c1981c57a8963cf">arm_compute::test::validation::conv_info</a></div><div class="ttdeci">conv_info</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00571">Winograd.cpp:571</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a46e938020a3ac8c926d0590b7fe957db"><div class="ttname"><a href="namespacearm__compute.xhtml#a46e938020a3ac8c926d0590b7fe957db">arm_compute::get_data_layout_dimension_index</a></div><div class="ttdeci">size_t get_data_layout_dimension_index(const DataLayout data_layout, const DataLayoutDimension data_layout_dimension)</div><div class="ttdoc">Get the index of the given dimension.</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00326">Helpers.inl:326</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">CEIL</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00571">arm_compute::test::validation::conv_info</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00326">get_data_layout_dimension_index()</a>, <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02ad770ba3ce18fa409965dfdf5e7c348e6">HEIGHT</a>, <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">arm_compute::test::validation::input_shape</a>, <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">arm_compute::test::validation::weights_shape</a>, and <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195">WIDTH</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_n_e_depthwise_convolution_layer3x3_kernel_8cpp_source.xhtml#l00319">NEDepthwiseConvolutionLayer3x3Kernel::is_optimized_execution_possible()</a>.</p>
+
</div>
</div>
<a id="a9d714e1b7d9d7818309138b7d830ebcb"></a>
@@ -8514,15 +9260,15 @@
<dl class="section return"><dt>Returns</dt><dd>The subsampled tensor shape. </dd></dl>
<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00674">674</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
-
-<p class="reference">References <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00542">has_format_horizontal_subsampling()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00553">has_format_vertical_subsampling()</a>, <a class="el" href="_tensor_shape_8h_source.xhtml#l00078">TensorShape::set()</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, and <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="reference_2_channel_extract_8cpp_source.xhtml#l00038">arm_compute::test::validation::reference::channel_extract()</a>, <a class="el" href="_c_l_channel_extract_kernel_8cpp_source.xhtml#l00050">CLChannelExtractKernel::configure()</a>, <a class="el" href="_n_e_channel_extract_kernel_8cpp_source.xhtml#l00052">NEChannelExtractKernel::configure()</a>, <a class="el" href="_validate_8h_source.xhtml#l00336">error_on_tensors_not_subsampled()</a>, <a class="el" href="_c_l_multi_image_8cpp_source.xhtml#l00048">CLMultiImage::init_auto_padding()</a>, and <a class="el" href="_multi_image_8cpp_source.xhtml#l00048">MultiImage::init_auto_padding()</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>  TensorShape output{ <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a> };</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>  <span class="comment">// Subsample shape only for U or V channel</span></div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>  <span class="keywordflow">if</span>(Channel::U == channel || Channel::V == channel || Channel::UNKNOWN == channel)</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>  {</div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>  <span class="comment">// Subsample width for the tensor shape when channel is U or V</span></div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>  <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute.xhtml#aa2f22cc01532e0236e438324310fdb94">has_format_horizontal_subsampling</a>(format))</div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>  {</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>  output.set(0, output.x() / 2<a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>);</div><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> </div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>  <span class="comment">// Subsample height for the tensor shape when channel is U or V</span></div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>  <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute.xhtml#a95358b677c5c17f5cc1e369e4a27e2c2">has_format_vertical_subsampling</a>(format))</div><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>  output.set(1, output.y() / 2<a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>);</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>  }</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>  <span class="keywordflow">return</span> output;</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</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_arithmetic_division_8cpp_source.xhtml#l00096">ArithmeticDivision.cpp:96</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a95358b677c5c17f5cc1e369e4a27e2c2"><div class="ttname"><a href="namespacearm__compute.xhtml#a95358b677c5c17f5cc1e369e4a27e2c2">arm_compute::has_format_vertical_subsampling</a></div><div class="ttdeci">bool has_format_vertical_subsampling(Format format)</div><div class="ttdoc">Return true if the given format has vertical subsampling. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00553">Utils.h:553</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">arm_compute::Channel::U</a></div><div class="ttdoc">Cb/U channel. </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_aa2f22cc01532e0236e438324310fdb94"><div class="ttname"><a href="namespacearm__compute.xhtml#aa2f22cc01532e0236e438324310fdb94">arm_compute::has_format_horizontal_subsampling</a></div><div class="ttdeci">bool has_format_horizontal_subsampling(Format format)</div><div class="ttdoc">Return true if the given format has horizontal subsampling. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00542">Utils.h:542</a></div></div>
+<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>  TensorShape output{ <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a> };</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>  <span class="comment">// Subsample shape only for U or V channel</span></div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>  <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">Channel::U</a> == channel || Channel::V == channel || Channel::UNKNOWN == channel)</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>  {</div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>  <span class="comment">// Subsample width for the tensor shape when channel is U or V</span></div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>  <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute.xhtml#aa2f22cc01532e0236e438324310fdb94">has_format_horizontal_subsampling</a>(format))</div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>  {</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>  output.set(0, output.x() / 2<a class="code" href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">U</a>);</div><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> </div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>  <span class="comment">// Subsample height for the tensor shape when channel is U or V</span></div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>  <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute.xhtml#a95358b677c5c17f5cc1e369e4a27e2c2">has_format_vertical_subsampling</a>(format))</div><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>  output.set(1, output.y() / 2<a class="code" href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">U</a>);</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>  }</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>  <span class="keywordflow">return</span> output;</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</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_absolute_difference_8cpp_source.xhtml#l00097">AbsoluteDifference.cpp:97</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a95358b677c5c17f5cc1e369e4a27e2c2"><div class="ttname"><a href="namespacearm__compute.xhtml#a95358b677c5c17f5cc1e369e4a27e2c2">arm_compute::has_format_vertical_subsampling</a></div><div class="ttdeci">bool has_format_vertical_subsampling(Format format)</div><div class="ttdoc">Return true if the given format has vertical subsampling.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00553">Utils.h:553</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1utils_1_1cast_xhtml_a2ea3d1fc01a3a442900249ca182ffa5e"><div class="ttname"><a href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">arm_compute::utils::cast::U</a></div><div class="ttdeci">U</div><div class="ttdef"><b>Definition:</b> <a href="_saturate_cast_8h_source.xhtml#l00057">SaturateCast.h:57</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_aa2f22cc01532e0236e438324310fdb94"><div class="ttname"><a href="namespacearm__compute.xhtml#aa2f22cc01532e0236e438324310fdb94">arm_compute::has_format_horizontal_subsampling</a></div><div class="ttdeci">bool has_format_horizontal_subsampling(Format format)</div><div class="ttdoc">Return true if the given format has horizontal subsampling.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00542">Utils.h:542</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00542">has_format_horizontal_subsampling()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00553">has_format_vertical_subsampling()</a>, <a class="el" href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00097">arm_compute::test::validation::shape</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, and <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="reference_2_channel_extract_8cpp_source.xhtml#l00038">arm_compute::test::validation::reference::channel_extract()</a>, <a class="el" href="_c_l_channel_extract_kernel_8cpp_source.xhtml#l00050">CLChannelExtractKernel::configure()</a>, <a class="el" href="_n_e_channel_extract_kernel_8cpp_source.xhtml#l00052">NEChannelExtractKernel::configure()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00336">error_on_tensors_not_subsampled()</a>.</p>
+
</div>
</div>
<a id="a45509a321422cd1542958b5c33021bda"></a>
@@ -8583,26 +9329,25 @@
<dl class="section return"><dt>Returns</dt><dd>The corresponding valid region </dd></dl>
<p class="definition">Definition at line <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00184">184</a> of file <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml">Helpers.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00281">ValidRegion::anchor</a>, <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>, <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>, <a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7bac397289ee45877be0cd49811fe245b4e">CENTER</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a367b5090ab432bc7de2c32369e087ab1">ITensorInfo::data_layout()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00251">arm_compute::test::validation::data_layout</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00326">get_data_layout_dimension_index()</a>, <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02ad770ba3ce18fa409965dfdf5e7c348e6">HEIGHT</a>, <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2">NEAREST_NEIGHBOR</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#l00078">TensorShape::set()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00282">ValidRegion::shape</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">ITensorInfo::tensor_shape()</a>, <a class="el" href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00107">arm_compute::test::validation::valid_region</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a74dfd07380a290c34fe7c8e065029b95">ITensorInfo::valid_region()</a>, and <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195">WIDTH</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="validation_2_c_l_2_scale_8cpp_source.xhtml#l00198">arm_compute::test::validation::combine()</a>, <a class="el" href="_g_c_scale_kernel_8cpp_source.xhtml#l00047">GCScaleKernel::configure()</a>, <a class="el" href="validation_2_c_l_2_scale_8cpp_source.xhtml#l00119">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="validation_2_c_l_2_scale_8cpp_source.xhtml#l00168">arm_compute::test::validation::FIXTURE_DATA_TEST_CASE()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</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>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">data_layout</a> = src_info.<a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a367b5090ab432bc7de2c32369e087ab1">data_layout</a>();</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> idx_width = <a class="code" href="namespacearm__compute.xhtml#a46e938020a3ac8c926d0590b7fe957db">get_data_layout_dimension_index</a>(data_layout, DataLayoutDimension::WIDTH);</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> idx_height = <a class="code" href="namespacearm__compute.xhtml#a46e938020a3ac8c926d0590b7fe957db">get_data_layout_dimension_index</a>(data_layout, DataLayoutDimension::HEIGHT);</div><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> <span class="keywordtype">float</span> scale_x = <span class="keyword">static_cast<</span><span class="keywordtype">float</span><span class="keyword">></span>(dst_shape[idx_width]) / src_info.<a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">tensor_shape</a>()[idx_width];</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> scale_y = <span class="keyword">static_cast<</span><span class="keywordtype">float</span><span class="keyword">></span>(dst_shape[idx_height]) / src_info.<a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">tensor_shape</a>()[idx_height];</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> sampling_point = (sampling_policy == SamplingPolicy::CENTER) ? 0.5f : 0.0f;</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">// Get input's valid region start and end points</span></div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> valid_start_in_x = src_info.<a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a74dfd07380a290c34fe7c8e065029b95">valid_region</a>().<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">anchor</a>[idx_width];</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> valid_start_in_y = src_info.<a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a74dfd07380a290c34fe7c8e065029b95">valid_region</a>().<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">anchor</a>[idx_height];</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> valid_end_in_x = src_info.<a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a74dfd07380a290c34fe7c8e065029b95">valid_region</a>().<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">anchor</a>[idx_width] + src_info.<a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a74dfd07380a290c34fe7c8e065029b95">valid_region</a>().<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">shape</a>[idx_width];</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> valid_end_in_y = src_info.<a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a74dfd07380a290c34fe7c8e065029b95">valid_region</a>().<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">anchor</a>[idx_height] + src_info.<a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a74dfd07380a290c34fe7c8e065029b95">valid_region</a>().<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">shape</a>[idx_height];</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <span class="comment">// Initialize output's valid region start and end points</span></div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <span class="keyword">auto</span> valid_start_out_x = <span class="keyword">static_cast<</span><span class="keywordtype">int</span><span class="keyword">></span>(valid_start_in_x * scale_x);</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keyword">auto</span> valid_start_out_y = <span class="keyword">static_cast<</span><span class="keywordtype">int</span><span class="keyword">></span>(valid_start_in_y * scale_y);</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <span class="keyword">auto</span> valid_end_out_x = std::min<int>(std::ceil(valid_end_in_x * scale_x), dst_shape[idx_width]);</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <span class="keyword">auto</span> valid_end_out_y = std::min<int>(std::ceil(valid_end_in_y * scale_y), dst_shape[idx_height]);</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">// Handle valid points in case of the bi-linear interpolation</span></div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <span class="keywordflow">if</span>(border_undefined)</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">switch</span>(interpolate_policy)</div><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>  <span class="keywordflow">case</span> InterpolationPolicy::NEAREST_NEIGHBOR:</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>  <span class="comment">// (start_out + sampling_point) >= (start_in * scale)</span></div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="comment">// start_out = ceil((start_in * scale) - sampling_point)</span></div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  valid_start_out_x = std::ceil(valid_start_in_x * scale_x - sampling_point);</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  valid_start_out_y = std::ceil(valid_start_in_y * scale_y - sampling_point);</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">// (end_out - 1 + sampling_point) < (end_in * scale)</span></div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <span class="comment">// end_out = ceil((end_in * scale) - sampling_point); // <-- ceil(x - 1) strictly less</span></div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  valid_end_out_x = std::ceil(valid_end_in_x * scale_x - sampling_point);</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  valid_end_out_y = std::ceil(valid_end_in_y * scale_y - sampling_point);</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="keywordflow">break</span>;</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">case</span> InterpolationPolicy::BILINEAR:</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="comment">// (start_out + sampling_point) >= ((start_in + sampling_point) * scale)</span></div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="comment">// start_out = ceil(((start_in + sampling_point) * scale) - sampling_point)</span></div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  valid_start_out_x = std::ceil((valid_start_in_x + sampling_point) * scale_x - sampling_point);</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  valid_start_out_y = std::ceil((valid_start_in_y + sampling_point) * scale_y - sampling_point);</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="comment">// (end_out - 1 + sampling_point) <= ((end_in - 1 + sampling_point) * scale)</span></div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="comment">// end_out = floor(((end_in - 1 + sampling_point) * scale) - sampling_point + 1)</span></div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  valid_end_out_x = std::floor((valid_end_in_x - 1.f + sampling_point) * scale_x - sampling_point + 1.f);</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  valid_end_out_y = std::floor((valid_end_in_y - 1.f + sampling_point) * scale_y - sampling_point + 1.f);</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>  }</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="keywordflow">case</span> InterpolationPolicy::AREA:</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">default</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>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Invalid InterpolationPolicy"</span>);</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="keywordflow">break</span>;</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>  }</div><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> </div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="comment">// Setup output valid region</span></div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <a class="code" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7819bcbbf45c2e7c1396a137dce54422">valid_region</a>{ <a class="code" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a>(), dst_shape, src_info.<a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">tensor_shape</a>().<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">num_dimensions</a>() };</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#a7819bcbbf45c2e7c1396a137dce54422">valid_region</a>.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">anchor</a>.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a982730e6f0da5f9490f59bc5f6bb3f27">set</a>(idx_width, std::max(0, valid_start_out_x));</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7819bcbbf45c2e7c1396a137dce54422">valid_region</a>.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">anchor</a>.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a982730e6f0da5f9490f59bc5f6bb3f27">set</a>(idx_height, std::max(0, valid_start_out_y));</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>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7819bcbbf45c2e7c1396a137dce54422">valid_region</a>.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">shape</a>.<a class="code" href="classarm__compute_1_1_tensor_shape.xhtml#a9c54fb6cea3557692fe7c00c40bb40ad">set</a>(idx_width, std::min<size_t>(valid_end_out_x - valid_start_out_x, dst_shape[idx_width]));</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7819bcbbf45c2e7c1396a137dce54422">valid_region</a>.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">shape</a>.<a class="code" href="classarm__compute_1_1_tensor_shape.xhtml#a9c54fb6cea3557692fe7c00c40bb40ad">set</a>(idx_height, std::min<size_t>(valid_end_out_y - valid_start_out_y, dst_shape[idx_height]));</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">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7819bcbbf45c2e7c1396a137dce54422">valid_region</a>;</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</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#l00261">Error.h:261</a></div></div>
-<div class="ttc" id="structarm__compute_1_1_valid_region_xhtml_a1fcd64682b37ed3c2098d0094ce788d8"><div class="ttname"><a href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">arm_compute::ValidRegion::shape</a></div><div class="ttdeci">TensorShape shape</div><div class="ttdoc">Shape of the valid region. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00282">Types.h:282</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a786677cbfb3f5677b4d84f3056eb08db"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">arm_compute::test::validation::data_layout</a></div><div class="ttdeci">data_layout</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00251">Winograd.cpp:251</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a982730e6f0da5f9490f59bc5f6bb3f27"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a982730e6f0da5f9490f59bc5f6bb3f27">arm_compute::Dimensions::set</a></div><div class="ttdeci">void set(size_t dimension, T value)</div><div class="ttdoc">Accessor to set the value of one of the dimensions. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00074">Dimensions.h:74</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_i_tensor_info_xhtml_a74dfd07380a290c34fe7c8e065029b95"><div class="ttname"><a href="classarm__compute_1_1_i_tensor_info.xhtml#a74dfd07380a290c34fe7c8e065029b95">arm_compute::ITensorInfo::valid_region</a></div><div class="ttdeci">virtual ValidRegion valid_region() const =0</div><div class="ttdoc">Valid region of the tensor. </div></div>
-<div class="ttc" id="classarm__compute_1_1_i_tensor_info_xhtml_a7c66505457d00ece3aa4b34cab80757d"><div class="ttname"><a href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">arm_compute::ITensorInfo::tensor_shape</a></div><div class="ttdeci">virtual const TensorShape & tensor_shape() const =0</div><div class="ttdoc">Size for each dimension of the tensor. </div></div>
-<div class="ttc" id="classarm__compute_1_1_coordinates_xhtml"><div class="ttname"><a href="classarm__compute_1_1_coordinates.xhtml">arm_compute::Coordinates</a></div><div class="ttdoc">Coordinates of an item. </div><div class="ttdef"><b>Definition:</b> <a href="_coordinates_8h_source.xhtml#l00037">Coordinates.h:37</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7819bcbbf45c2e7c1396a137dce54422"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7819bcbbf45c2e7c1396a137dce54422">arm_compute::test::validation::valid_region</a></div><div class="ttdeci">const ValidRegion valid_region</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00107">ArithmeticDivision.cpp:107</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a80a5f2d6e3a697c9aad893a3b4242615"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">arm_compute::Dimensions::num_dimensions</a></div><div class="ttdeci">unsigned int num_dimensions() const</div><div class="ttdoc">Returns the effective dimensionality of the tensor. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00122">Dimensions.h:122</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_tensor_shape_xhtml_a9c54fb6cea3557692fe7c00c40bb40ad"><div class="ttname"><a href="classarm__compute_1_1_tensor_shape.xhtml#a9c54fb6cea3557692fe7c00c40bb40ad">arm_compute::TensorShape::set</a></div><div class="ttdeci">TensorShape & set(size_t dimension, size_t value, bool apply_dim_correction=true)</div><div class="ttdoc">Accessor to set the value of one of the dimensions. </div><div class="ttdef"><b>Definition:</b> <a href="_tensor_shape_8h_source.xhtml#l00078">TensorShape.h:78</a></div></div>
-<div class="ttc" id="structarm__compute_1_1_valid_region_xhtml"><div class="ttname"><a href="structarm__compute_1_1_valid_region.xhtml">arm_compute::ValidRegion</a></div><div class="ttdoc">Container for valid region of a window. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00209">Types.h:209</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a46e938020a3ac8c926d0590b7fe957db"><div class="ttname"><a href="namespacearm__compute.xhtml#a46e938020a3ac8c926d0590b7fe957db">arm_compute::get_data_layout_dimension_index</a></div><div class="ttdeci">size_t get_data_layout_dimension_index(const DataLayout data_layout, const DataLayoutDimension data_layout_dimension)</div><div class="ttdoc">Get the index of the given dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00326">Helpers.inl:326</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ad1d5cce2d9e9a5d61c243e5c989112e0"><div class="ttname"><a href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">arm_compute::DataLayout</a></div><div class="ttdeci">DataLayout</div><div class="ttdoc">[DataLayout enum definition] </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00111">Types.h:111</a></div></div>
-<div class="ttc" id="structarm__compute_1_1_valid_region_xhtml_a55a69b397082accd94221dd10b722cf7"><div class="ttname"><a href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">arm_compute::ValidRegion::anchor</a></div><div class="ttdeci">Coordinates anchor</div><div class="ttdoc">Anchor for the start of the valid region. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00281">Types.h:281</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_i_tensor_info_xhtml_a367b5090ab432bc7de2c32369e087ab1"><div class="ttname"><a href="classarm__compute_1_1_i_tensor_info.xhtml#a367b5090ab432bc7de2c32369e087ab1">arm_compute::ITensorInfo::data_layout</a></div><div class="ttdeci">virtual DataLayout data_layout() const =0</div><div class="ttdoc">Get the data layout of the tensor. </div></div>
+<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>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> data_layout = src_info.<a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a367b5090ab432bc7de2c32369e087ab1">data_layout</a>();</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> idx_width = <a class="code" href="namespacearm__compute.xhtml#a46e938020a3ac8c926d0590b7fe957db">get_data_layout_dimension_index</a>(data_layout, DataLayoutDimension::WIDTH);</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> idx_height = <a class="code" href="namespacearm__compute.xhtml#a46e938020a3ac8c926d0590b7fe957db">get_data_layout_dimension_index</a>(data_layout, DataLayoutDimension::HEIGHT);</div><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> <span class="keywordtype">float</span> scale_x = static_cast<float>(dst_shape[idx_width]) / src_info.<a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">tensor_shape</a>()[idx_width];</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> scale_y = static_cast<float>(dst_shape[idx_height]) / src_info.<a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">tensor_shape</a>()[idx_height];</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> sampling_point = (sampling_policy == SamplingPolicy::CENTER) ? 0.5f : 0.0f;</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">// Get input's valid region start and end points</span></div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> valid_start_in_x = src_info.<a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a74dfd07380a290c34fe7c8e065029b95">valid_region</a>().<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">anchor</a>[idx_width];</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> valid_start_in_y = src_info.<a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a74dfd07380a290c34fe7c8e065029b95">valid_region</a>().<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">anchor</a>[idx_height];</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> valid_end_in_x = src_info.<a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a74dfd07380a290c34fe7c8e065029b95">valid_region</a>().<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">anchor</a>[idx_width] + src_info.<a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a74dfd07380a290c34fe7c8e065029b95">valid_region</a>().<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">shape</a>[idx_width];</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> valid_end_in_y = src_info.<a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a74dfd07380a290c34fe7c8e065029b95">valid_region</a>().<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">anchor</a>[idx_height] + src_info.<a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a74dfd07380a290c34fe7c8e065029b95">valid_region</a>().<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">shape</a>[idx_height];</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <span class="comment">// Initialize output's valid region start and end points</span></div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <span class="keyword">auto</span> valid_start_out_x = static_cast<int>(valid_start_in_x * scale_x);</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keyword">auto</span> valid_start_out_y = static_cast<int>(valid_start_in_y * scale_y);</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <span class="keyword">auto</span> valid_end_out_x = std::min<int>(std::ceil(valid_end_in_x * scale_x), dst_shape[idx_width]);</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <span class="keyword">auto</span> valid_end_out_y = std::min<int>(std::ceil(valid_end_in_y * scale_y), dst_shape[idx_height]);</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">// Handle valid points in case of the bi-linear interpolation</span></div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <span class="keywordflow">if</span>(border_undefined)</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">switch</span>(interpolate_policy)</div><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>  <span class="keywordflow">case</span> InterpolationPolicy::NEAREST_NEIGHBOR:</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>  <span class="comment">// (start_out + sampling_point) >= (start_in * scale)</span></div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="comment">// start_out = ceil((start_in * scale) - sampling_point)</span></div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  valid_start_out_x = std::ceil(valid_start_in_x * scale_x - sampling_point);</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  valid_start_out_y = std::ceil(valid_start_in_y * scale_y - sampling_point);</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">// (end_out - 1 + sampling_point) < (end_in * scale)</span></div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <span class="comment">// end_out = ceil((end_in * scale) - sampling_point); // <-- ceil(x - 1) strictly less</span></div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  valid_end_out_x = std::ceil(valid_end_in_x * scale_x - sampling_point);</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  valid_end_out_y = std::ceil(valid_end_in_y * scale_y - sampling_point);</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="keywordflow">break</span>;</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">case</span> InterpolationPolicy::BILINEAR:</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="comment">// (start_out + sampling_point) >= ((start_in + sampling_point) * scale)</span></div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="comment">// start_out = ceil(((start_in + sampling_point) * scale) - sampling_point)</span></div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  valid_start_out_x = std::ceil((valid_start_in_x + sampling_point) * scale_x - sampling_point);</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  valid_start_out_y = std::ceil((valid_start_in_y + sampling_point) * scale_y - sampling_point);</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="comment">// (end_out - 1 + sampling_point) <= ((end_in - 1 + sampling_point) * scale)</span></div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="comment">// end_out = floor(((end_in - 1 + sampling_point) * scale) - sampling_point + 1)</span></div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  valid_end_out_x = std::floor((valid_end_in_x - 1.f + sampling_point) * scale_x - sampling_point + 1.f);</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  valid_end_out_y = std::floor((valid_end_in_y - 1.f + sampling_point) * scale_y - sampling_point + 1.f);</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>  }</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="keywordflow">case</span> InterpolationPolicy::AREA:</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">default</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>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Invalid InterpolationPolicy"</span>);</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="keywordflow">break</span>;</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>  }</div><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> </div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="comment">// Setup output valid region</span></div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <a class="code" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7819bcbbf45c2e7c1396a137dce54422">valid_region</a>{ <a class="code" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a>(), dst_shape, src_info.<a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">tensor_shape</a>().<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">num_dimensions</a>() };</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#a7819bcbbf45c2e7c1396a137dce54422">valid_region</a>.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">anchor</a>.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a982730e6f0da5f9490f59bc5f6bb3f27">set</a>(idx_width, std::max(0, valid_start_out_x));</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7819bcbbf45c2e7c1396a137dce54422">valid_region</a>.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">anchor</a>.<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a982730e6f0da5f9490f59bc5f6bb3f27">set</a>(idx_height, std::max(0, valid_start_out_y));</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>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7819bcbbf45c2e7c1396a137dce54422">valid_region</a>.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">shape</a>.<a class="code" href="classarm__compute_1_1_tensor_shape.xhtml#a9c54fb6cea3557692fe7c00c40bb40ad">set</a>(idx_width, std::min<size_t>(valid_end_out_x - valid_start_out_x, dst_shape[idx_width]));</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7819bcbbf45c2e7c1396a137dce54422">valid_region</a>.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">shape</a>.<a class="code" href="classarm__compute_1_1_tensor_shape.xhtml#a9c54fb6cea3557692fe7c00c40bb40ad">set</a>(idx_height, std::min<size_t>(valid_end_out_y - valid_start_out_y, dst_shape[idx_height]));</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">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7819bcbbf45c2e7c1396a137dce54422">valid_region</a>;</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</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#l00261">Error.h:261</a></div></div>
+<div class="ttc" id="structarm__compute_1_1_valid_region_xhtml_a1fcd64682b37ed3c2098d0094ce788d8"><div class="ttname"><a href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">arm_compute::ValidRegion::shape</a></div><div class="ttdeci">TensorShape shape</div><div class="ttdoc">Shape of the valid region.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00301">Types.h:301</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a982730e6f0da5f9490f59bc5f6bb3f27"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a982730e6f0da5f9490f59bc5f6bb3f27">arm_compute::Dimensions::set</a></div><div class="ttdeci">void set(size_t dimension, T value)</div><div class="ttdoc">Accessor to set the value of one of the dimensions.</div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00074">Dimensions.h:74</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_i_tensor_info_xhtml_a74dfd07380a290c34fe7c8e065029b95"><div class="ttname"><a href="classarm__compute_1_1_i_tensor_info.xhtml#a74dfd07380a290c34fe7c8e065029b95">arm_compute::ITensorInfo::valid_region</a></div><div class="ttdeci">virtual ValidRegion valid_region() const =0</div><div class="ttdoc">Valid region of the tensor.</div></div>
+<div class="ttc" id="classarm__compute_1_1_i_tensor_info_xhtml_a7c66505457d00ece3aa4b34cab80757d"><div class="ttname"><a href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">arm_compute::ITensorInfo::tensor_shape</a></div><div class="ttdeci">virtual const TensorShape & tensor_shape() const =0</div><div class="ttdoc">Size for each dimension of the tensor.</div></div>
+<div class="ttc" id="classarm__compute_1_1_coordinates_xhtml"><div class="ttname"><a href="classarm__compute_1_1_coordinates.xhtml">arm_compute::Coordinates</a></div><div class="ttdoc">Coordinates of an item.</div><div class="ttdef"><b>Definition:</b> <a href="_coordinates_8h_source.xhtml#l00037">Coordinates.h:37</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7819bcbbf45c2e7c1396a137dce54422"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7819bcbbf45c2e7c1396a137dce54422">arm_compute::test::validation::valid_region</a></div><div class="ttdeci">const ValidRegion valid_region</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00109">AbsoluteDifference.cpp:109</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a80a5f2d6e3a697c9aad893a3b4242615"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a80a5f2d6e3a697c9aad893a3b4242615">arm_compute::Dimensions::num_dimensions</a></div><div class="ttdeci">unsigned int num_dimensions() const</div><div class="ttdoc">Returns the effective dimensionality of the tensor.</div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00122">Dimensions.h:122</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_tensor_shape_xhtml_a9c54fb6cea3557692fe7c00c40bb40ad"><div class="ttname"><a href="classarm__compute_1_1_tensor_shape.xhtml#a9c54fb6cea3557692fe7c00c40bb40ad">arm_compute::TensorShape::set</a></div><div class="ttdeci">TensorShape & set(size_t dimension, size_t value, bool apply_dim_correction=true)</div><div class="ttdoc">Accessor to set the value of one of the dimensions.</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_shape_8h_source.xhtml#l00078">TensorShape.h:78</a></div></div>
+<div class="ttc" id="structarm__compute_1_1_valid_region_xhtml"><div class="ttname"><a href="structarm__compute_1_1_valid_region.xhtml">arm_compute::ValidRegion</a></div><div class="ttdoc">Container for valid region of a window.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00228">Types.h:228</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a46e938020a3ac8c926d0590b7fe957db"><div class="ttname"><a href="namespacearm__compute.xhtml#a46e938020a3ac8c926d0590b7fe957db">arm_compute::get_data_layout_dimension_index</a></div><div class="ttdeci">size_t get_data_layout_dimension_index(const DataLayout data_layout, const DataLayoutDimension data_layout_dimension)</div><div class="ttdoc">Get the index of the given dimension.</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00326">Helpers.inl:326</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ad1d5cce2d9e9a5d61c243e5c989112e0"><div class="ttname"><a href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">arm_compute::DataLayout</a></div><div class="ttdeci">DataLayout</div><div class="ttdoc">[DataLayout enum definition]</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00111">Types.h:111</a></div></div>
+<div class="ttc" id="structarm__compute_1_1_valid_region_xhtml_a55a69b397082accd94221dd10b722cf7"><div class="ttname"><a href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">arm_compute::ValidRegion::anchor</a></div><div class="ttdeci">Coordinates anchor</div><div class="ttdoc">Anchor for the start of the valid region.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00300">Types.h:300</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_i_tensor_info_xhtml_a367b5090ab432bc7de2c32369e087ab1"><div class="ttname"><a href="classarm__compute_1_1_i_tensor_info.xhtml#a367b5090ab432bc7de2c32369e087ab1">arm_compute::ITensorInfo::data_layout</a></div><div class="ttdeci">virtual DataLayout data_layout() const =0</div><div class="ttdoc">Get the data layout of the tensor.</div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00300">ValidRegion::anchor</a>, <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>, <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>, <a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7bac397289ee45877be0cd49811fe245b4e">CENTER</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a367b5090ab432bc7de2c32369e087ab1">ITensorInfo::data_layout()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00326">get_data_layout_dimension_index()</a>, <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02ad770ba3ce18fa409965dfdf5e7c348e6">HEIGHT</a>, <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2">NEAREST_NEIGHBOR</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#l00078">TensorShape::set()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00301">ValidRegion::shape</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">ITensorInfo::tensor_shape()</a>, <a class="el" href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00109">arm_compute::test::validation::valid_region</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a74dfd07380a290c34fe7c8e065029b95">ITensorInfo::valid_region()</a>, and <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195">WIDTH</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_g_c_scale_kernel_8cpp_source.xhtml#l00047">GCScaleKernel::configure()</a>.</p>
+
</div>
</div>
<a id="ab237a0a375cf382d52b61653248d3d4a"></a>
@@ -8651,11 +9396,11 @@
<dl class="section return"><dt>Returns</dt><dd>the result. </dd></dl>
<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00065">65</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00082">calculate_max_enlarged_window()</a>, <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00028">calculate_max_window()</a>, <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00131">calculate_max_window_horizontal()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00042">GCLogits1DMaxKernel::configure()</a>, <a class="el" href="_c_l_integral_image_kernel_8cpp_source.xhtml#l00039">CLIntegralImageHorKernel::configure()</a>, <a class="el" href="_g_c_transpose_kernel_8cpp_source.xhtml#l00040">GCTransposeKernel::configure()</a>, <a class="el" href="_c_l_warp_affine_kernel_8cpp_source.xhtml#l00061">CLWarpAffineKernel::configure()</a>, <a class="el" href="_g_c_scale_kernel_8cpp_source.xhtml#l00047">GCScaleKernel::configure()</a>, <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00437">NELogits1DMaxKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_accumulate_biases_kernel_8cpp_source.xhtml#l00044">GCGEMMMatrixAccumulateBiasesKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_vector_multiply_kernel_8cpp_source.xhtml#l00083">CLGEMMMatrixVectorMultiplyKernel::configure()</a>, <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00062">CLMinMaxKernel::configure()</a>, <a class="el" href="_c_l_remap_kernel_8cpp_source.xhtml#l00050">CLRemapKernel::configure()</a>, <a class="el" href="_c_l_upsample_layer_kernel_8cpp_source.xhtml#l00062">CLUpsampleLayerKernel::configure()</a>, <a class="el" href="_c_l_memset_kernel_8cpp_source.xhtml#l00042">CLMemsetKernel::configure()</a>, <a class="el" href="_n_e_g_e_m_m_matrix_vector_multiply_kernel_8cpp_source.xhtml#l00213">NEGEMMMatrixVectorMultiplyKernel::configure()</a>, <a class="el" href="_g_c_depthwise_convolution_layer3x3_kernel_8cpp_source.xhtml#l00051">GCDepthwiseConvolutionLayer3x3Kernel::configure()</a>, <a class="el" href="_c_l_mean_std_dev_kernel_8cpp_source.xhtml#l00066">CLMeanStdDevKernel::configure()</a>, <a class="el" href="_c_l_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00098">CLFuseBatchNormalizationKernel::configure()</a>, <a class="el" href="_g_c_direct_convolution_layer_kernel_8cpp_source.xhtml#l00053">GCDirectConvolutionLayerKernel< kernel_size >::configure()</a>, <a class="el" href="_n_e_remap_kernel_8cpp_source.xhtml#l00076">NERemapKernel::configure()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00107">GCLogits1DShiftExpSumKernel::configure()</a>, <a class="el" href="_n_e_mean_std_dev_kernel_8cpp_source.xhtml#l00097">NEMeanStdDevKernel::configure()</a>, <a class="el" href="_c_l_strided_slice_kernel_8cpp_source.xhtml#l00104">CLStridedSliceKernel::configure()</a>, <a class="el" href="_n_e_g_e_m_m_interleaved_wrapper_8cpp_source.xhtml#l00141">NEGEMMInterleavedWrapper::configure()</a>, <a class="el" href="_g_c_col2_im_kernel_8cpp_source.xhtml#l00044">GCCol2ImKernel::configure()</a>, <a class="el" href="_g_c_im2_col_kernel_8cpp_source.xhtml#l00067">GCIm2ColKernel::configure()</a>, <a class="el" href="validation_2_c_l_2_remap_8cpp_source.xhtml#l00053">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_i_g_c_kernel_8cpp_source.xhtml#l00069">IGCKernel::kernel()</a>, <a class="el" href="_n_e_g_e_m_m_lowp_matrix_multiply_kernel_8cpp_source.xhtml#l00829">NEGEMMLowpMatrixMultiplyKernel::run()</a>, <a class="el" href="_c_l_im2_col_kernel_8cpp_source.xhtml#l00347">CLIm2ColKernel::run()</a>, <a class="el" href="_n_e_g_e_m_m_lowp_reduction_kernel_8cpp_source.xhtml#l00279">NEGEMMLowpMatrixBReductionKernel::run()</a>, <a class="el" href="_window_8inl_source.xhtml#l00134">Window::scale()</a>, and <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00324">vadd()</a>.</p>
-<div class="fragment"><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>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(value < 0 || divisor <= 0);</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#acac1575c0edd329ceb4a54d9fe8dcb08">DIV_CEIL</a>(value, divisor) * divisor;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</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#l00337">Error.h:337</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_acac1575c0edd329ceb4a54d9fe8dcb08"><div class="ttname"><a href="namespacearm__compute.xhtml#acac1575c0edd329ceb4a54d9fe8dcb08">arm_compute::DIV_CEIL</a></div><div class="ttdeci">constexpr auto DIV_CEIL(S val, T m) -> decltype((val+m - 1)/m)</div><div class="ttdoc">Calculate the rounded up quotient of val / m. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00052">Utils.h:52</a></div></div>
+<div class="fragment"><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>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(value < 0 || divisor <= 0);</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#acac1575c0edd329ceb4a54d9fe8dcb08">DIV_CEIL</a>(value, divisor) * divisor;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</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#l00337">Error.h:337</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_acac1575c0edd329ceb4a54d9fe8dcb08"><div class="ttname"><a href="namespacearm__compute.xhtml#acac1575c0edd329ceb4a54d9fe8dcb08">arm_compute::DIV_CEIL</a></div><div class="ttdeci">constexpr auto DIV_CEIL(S val, T m) -> decltype((val+m - 1)/m)</div><div class="ttdoc">Calculate the rounded up quotient of val / m.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00052">Utils.h:52</a></div></div>
</div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00082">calculate_max_enlarged_window()</a>, <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00028">calculate_max_window()</a>, <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00131">calculate_max_window_horizontal()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00042">GCLogits1DMaxKernel::configure()</a>, <a class="el" href="_c_l_integral_image_kernel_8cpp_source.xhtml#l00039">CLIntegralImageHorKernel::configure()</a>, <a class="el" href="_c_l_element_wise_unary_layer_kernel_8cpp_source.xhtml#l00052">CLElementWiseUnaryLayerKernel::configure()</a>, <a class="el" href="_g_c_transpose_kernel_8cpp_source.xhtml#l00040">GCTransposeKernel::configure()</a>, <a class="el" href="_c_l_warp_affine_kernel_8cpp_source.xhtml#l00061">CLWarpAffineKernel::configure()</a>, <a class="el" href="_g_c_scale_kernel_8cpp_source.xhtml#l00047">GCScaleKernel::configure()</a>, <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00437">NELogits1DMaxKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_accumulate_biases_kernel_8cpp_source.xhtml#l00044">GCGEMMMatrixAccumulateBiasesKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_vector_multiply_kernel_8cpp_source.xhtml#l00083">CLGEMMMatrixVectorMultiplyKernel::configure()</a>, <a class="el" href="_c_l_memset_kernel_8cpp_source.xhtml#l00042">CLMemsetKernel::configure()</a>, <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00062">CLMinMaxKernel::configure()</a>, <a class="el" href="_c_l_remap_kernel_8cpp_source.xhtml#l00050">CLRemapKernel::configure()</a>, <a class="el" href="_c_l_tile_kernel_8cpp_source.xhtml#l00068">CLTileKernel::configure()</a>, <a class="el" href="_c_l_upsample_layer_kernel_8cpp_source.xhtml#l00066">CLUpsampleLayerKernel::configure()</a>, <a class="el" href="_n_e_g_e_m_m_matrix_vector_multiply_kernel_8cpp_source.xhtml#l00257">NEGEMMMatrixVectorMultiplyKernel::configure()</a>, <a class="el" href="_g_c_depthwise_convolution_layer3x3_kernel_8cpp_source.xhtml#l00051">GCDepthwiseConvolutionLayer3x3Kernel::configure()</a>, <a class="el" href="_c_l_width_concatenate2_tensors_kernel_8cpp_source.xhtml#l00097">CLWidthConcatenate2TensorsKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate4_tensors_kernel_8cpp_source.xhtml#l00115">CLWidthConcatenate4TensorsKernel::configure()</a>, <a class="el" href="_c_l_mean_std_dev_kernel_8cpp_source.xhtml#l00066">CLMeanStdDevKernel::configure()</a>, <a class="el" href="_c_l_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00098">CLFuseBatchNormalizationKernel::configure()</a>, <a class="el" href="_n_e_remap_kernel_8cpp_source.xhtml#l00076">NERemapKernel::configure()</a>, <a class="el" href="_g_c_direct_convolution_layer_kernel_8cpp_source.xhtml#l00053">GCDirectConvolutionLayerKernel< kernel_size >::configure()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00107">GCLogits1DShiftExpSumKernel::configure()</a>, <a class="el" href="_n_e_mean_std_dev_kernel_8cpp_source.xhtml#l00097">NEMeanStdDevKernel::configure()</a>, <a class="el" href="_c_l_strided_slice_kernel_8cpp_source.xhtml#l00106">CLStridedSliceKernel::configure()</a>, <a class="el" href="_g_c_col2_im_kernel_8cpp_source.xhtml#l00044">GCCol2ImKernel::configure()</a>, <a class="el" href="_g_c_im2_col_kernel_8cpp_source.xhtml#l00067">GCIm2ColKernel::configure()</a>, <a class="el" href="_n_e_g_e_m_m_interleaved_wrapper_8cpp_source.xhtml#l00337">NEGEMMInterleavedWrapper::configure()</a>, <a class="el" href="_n_e_g_e_m_m_lowp_matrix_multiply_kernel_8cpp_source.xhtml#l00829">NEGEMMLowpMatrixMultiplyKernel::run()</a>, <a class="el" href="_c_l_im2_col_kernel_8cpp_source.xhtml#l00352">CLIm2ColKernel::run()</a>, <a class="el" href="_n_e_g_e_m_m_lowp_reduction_kernel_8cpp_source.xhtml#l00279">NEGEMMLowpMatrixBReductionKernel::run()</a>, and <a class="el" href="_window_8inl_source.xhtml#l00134">Window::scale()</a>.</p>
+
</div>
</div>
<a id="afab149f8d8b0f6405303ee8056fa77d3"></a>
@@ -8703,12 +9448,64 @@
<dl class="section return"><dt>Returns</dt><dd>The channel index of the specific channel of the specific format </dd></dl>
<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00313">313</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="l00314"></a><span class="lineno"> 314</span> {</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  <span class="keywordflow">switch</span>(format)</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">case</span> Format::RGB888:</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">switch</span>(channel)</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> Channel::R:</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <span class="keywordflow">case</span> Channel::G:</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <span class="keywordflow">case</span> Channel::B:</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</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="l00329"></a><span class="lineno"> 329</span>  <span class="keywordflow">return</span> 0;</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>  }</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  {</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <span class="keywordflow">switch</span>(channel)</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">case</span> Channel::R:</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <span class="keywordflow">case</span> Channel::G:</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  <span class="keywordflow">case</span> Channel::B:</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <span class="keywordflow">case</span> Channel::A:</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</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="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 class="line"><a name="l00349"></a><span class="lineno"> 349</span>  <span class="keywordflow">case</span> Format::YUYV422:</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>  <span class="keywordflow">switch</span>(channel)</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">case</span> Channel::Y:</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">Channel::U</a>:</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</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="l00361"></a><span class="lineno"> 361</span>  <span class="keywordflow">return</span> 0;</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>  }</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <span class="keywordflow">case</span> Format::UYVY422:</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">switch</span>(channel)</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">case</span> Channel::Y:</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">Channel::U</a>:</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</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="l00376"></a><span class="lineno"> 376</span>  <span class="keywordflow">return</span> 0;</div><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>  }</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <span class="keywordflow">case</span> Format::NV12:</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>  <span class="keywordflow">switch</span>(channel)</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> Channel::Y:</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">Channel::U</a>:</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</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="l00391"></a><span class="lineno"> 391</span>  <span class="keywordflow">return</span> 0;</div><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>  }</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  <span class="keywordflow">case</span> Format::NV21:</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>  <span class="keywordflow">switch</span>(channel)</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>  <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">Channel::U</a>:</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</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="l00406"></a><span class="lineno"> 406</span>  <span class="keywordflow">return</span> 0;</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>  <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  <span class="keywordflow">case</span> Format::IYUV:</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">switch</span>(channel)</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">case</span> Channel::Y:</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">Channel::U</a>:</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</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="l00422"></a><span class="lineno"> 422</span>  <span class="keywordflow">return</span> 0;</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>  }</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</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="l00427"></a><span class="lineno"> 427</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  }</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</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#l00261">Error.h:261</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1utils_1_1cast_xhtml_a2ea3d1fc01a3a442900249ca182ffa5e"><div class="ttname"><a href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">arm_compute::utils::cast::U</a></div><div class="ttdeci">U</div><div class="ttdef"><b>Definition:</b> <a href="_saturate_cast_8h_source.xhtml#l00057">SaturateCast.h:57</a></div></div>
+</div><!-- fragment -->
<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">G</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#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">R</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#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>.</p>
<p class="reference">Referenced by <a class="el" href="reference_2_channel_extract_8cpp_source.xhtml#l00038">arm_compute::test::validation::reference::channel_extract()</a>, and <a class="el" href="_n_e_channel_extract_kernel_8cpp_source.xhtml#l00052">NEChannelExtractKernel::configure()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00314"></a><span class="lineno"> 314</span> {</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  <span class="keywordflow">switch</span>(format)</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">case</span> Format::RGB888:</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">switch</span>(channel)</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> Channel::R:</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <span class="keywordflow">case</span> Channel::G:</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <span class="keywordflow">case</span> Channel::B:</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</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="l00329"></a><span class="lineno"> 329</span>  <span class="keywordflow">return</span> 0;</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>  }</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  {</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <span class="keywordflow">switch</span>(channel)</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">case</span> Channel::R:</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <span class="keywordflow">case</span> Channel::G:</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  <span class="keywordflow">case</span> Channel::B:</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <span class="keywordflow">case</span> Channel::A:</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</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="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 class="line"><a name="l00349"></a><span class="lineno"> 349</span>  <span class="keywordflow">case</span> Format::YUYV422:</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>  <span class="keywordflow">switch</span>(channel)</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">case</span> Channel::Y:</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</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="l00361"></a><span class="lineno"> 361</span>  <span class="keywordflow">return</span> 0;</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>  }</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <span class="keywordflow">case</span> Format::UYVY422:</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">switch</span>(channel)</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">case</span> Channel::Y:</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</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="l00376"></a><span class="lineno"> 376</span>  <span class="keywordflow">return</span> 0;</div><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>  }</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <span class="keywordflow">case</span> Format::NV12:</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>  <span class="keywordflow">switch</span>(channel)</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> Channel::Y:</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</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="l00391"></a><span class="lineno"> 391</span>  <span class="keywordflow">return</span> 0;</div><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>  }</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  <span class="keywordflow">case</span> Format::NV21:</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>  <span class="keywordflow">switch</span>(channel)</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>  <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</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="l00406"></a><span class="lineno"> 406</span>  <span class="keywordflow">return</span> 0;</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>  <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  <span class="keywordflow">case</span> Format::IYUV:</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">switch</span>(channel)</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">case</span> Channel::Y:</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</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="l00422"></a><span class="lineno"> 422</span>  <span class="keywordflow">return</span> 0;</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>  }</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</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="l00427"></a><span class="lineno"> 427</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  }</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</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#l00261">Error.h:261</a></div></div>
+
+</div>
+</div>
+<a id="ad4fb37558f66dd33689292aebf4f843c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad4fb37558f66dd33689292aebf4f843c">◆ </a></span>check_value_range()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool arm_compute::check_value_range </td>
+ <td>(</td>
+ <td class="paramtype">T </td>
+ <td class="paramname"><em>val</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> </td>
+ <td class="paramname"><em>dt</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>quant_info</em> = <code><a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a>()</code> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Returns true if the value can be represented by the given data type. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>value to be checked </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>data type that is checked </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">quant_info</td><td>quantization info if the data type is QASYMM8</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>true if the data type can hold the value. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01068">1068</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="l01069"></a><span class="lineno"> 1069</span> {</div><div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>  <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>  {</div><div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>  <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>  <span class="keywordflow">return</span> ((static_cast<uint8_t>(val) == val) && val >= <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a73e352c61baaf9c1178da2d30105b04e">std::numeric_limits<uint8_t>::lowest</a>() && val <= std::numeric_limits<uint8_t>::max());</div><div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>  {</div><div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>  <span class="keywordtype">double</span> min = static_cast<double>(quant_info.dequantize(0));</div><div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>  <span class="keywordtype">double</span> max = static_cast<double>(quant_info.dequantize(std::numeric_limits<uint8_t>::max()));</div><div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>  <span class="keywordflow">return</span> ((<span class="keywordtype">double</span>)val >= min && (double)val <= max);</div><div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>  }</div><div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>  <span class="keywordflow">return</span> ((static_cast<int8_t>(val) == val) && val >= <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a73e352c61baaf9c1178da2d30105b04e">std::numeric_limits<int8_t>::lowest</a>() && val <= std::numeric_limits<int8_t>::max());</div><div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>  <span class="keywordflow">return</span> ((static_cast<uint16_t>(val) == val) && val >= <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a73e352c61baaf9c1178da2d30105b04e">std::numeric_limits<uint16_t>::lowest</a>() && val <= std::numeric_limits<uint16_t>::max());</div><div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>  <span class="keywordflow">return</span> ((static_cast<int16_t>(val) == val) && val >= <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a73e352c61baaf9c1178da2d30105b04e">std::numeric_limits<int16_t>::lowest</a>() && val <= std::numeric_limits<int16_t>::max());</div><div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>  <span class="keywordflow">return</span> ((static_cast<uint32_t>(val) == val) && val >= <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a73e352c61baaf9c1178da2d30105b04e">std::numeric_limits<uint32_t>::lowest</a>() && val <= std::numeric_limits<uint32_t>::max());</div><div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>  <span class="keywordflow">return</span> ((static_cast<int32_t>(val) == val) && val >= <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a73e352c61baaf9c1178da2d30105b04e">std::numeric_limits<int32_t>::lowest</a>() && val <= std::numeric_limits<int32_t>::max());</div><div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>  <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>  <span class="keywordflow">return</span> (val >= <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a73e352c61baaf9c1178da2d30105b04e">std::numeric_limits<uint64_t>::lowest</a>() && val <= std::numeric_limits<uint64_t>::max());</div><div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>  <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>  <span class="keywordflow">return</span> (val >= <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a73e352c61baaf9c1178da2d30105b04e">std::numeric_limits<int64_t>::lowest</a>() && val <= std::numeric_limits<int64_t>::max());</div><div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>  <span class="keywordflow">return</span> (val >= <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a73e352c61baaf9c1178da2d30105b04e">std::numeric_limits<half>::lowest</a>() && val <= std::numeric_limits<half>::max());</div><div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>  <span class="keywordflow">return</span> (val >= <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a73e352c61baaf9c1178da2d30105b04e">std::numeric_limits<float>::lowest</a>() && val <= std::numeric_limits<float>::max());</div><div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>  <span class="keywordflow">case</span> DataType::F64:</div><div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>  <span class="keywordflow">return</span> (val >= <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a73e352c61baaf9c1178da2d30105b04e">std::numeric_limits<double>::lowest</a>() && val <= std::numeric_limits<double>::max());</div><div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>  <span class="keywordflow">case</span> DataType::SIZET:</div><div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>  <span class="keywordflow">return</span> ((static_cast<size_t>(val) == val) && val >= <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a73e352c61baaf9c1178da2d30105b04e">std::numeric_limits<size_t>::lowest</a>() && val <= std::numeric_limits<size_t>::max());</div><div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Data type not supported"</span>);</div><div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>  }</div><div class="line"><a name="l01106"></a><span class="lineno"> 1106</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#l00261">Error.h:261</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1support_1_1cpp11_xhtml_a73e352c61baaf9c1178da2d30105b04e"><div class="ttname"><a href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a73e352c61baaf9c1178da2d30105b04e">arm_compute::support::cpp11::lowest</a></div><div class="ttdeci">T lowest()</div><div class="ttdef"><b>Definition:</b> <a href="_toolchain_support_8h_source.xhtml#l00320">ToolchainSupport.h:320</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">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="_toolchain_support_8h_source.xhtml#l00320">arm_compute::support::cpp11::lowest()</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</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>
+
</div>
</div>
<a id="a7f5aff064f09dd7f355aaaf7641bf7d3"></a>
@@ -8747,20 +9544,18 @@
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">output_tile</td><td>Output tile for the Winograd filtering algorithm </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">kernel_size</td><td><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> size for the Winograd filtering algorithm </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">kernel_size</td><td><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class.">Kernel</a> size for the Winograd filtering algorithm </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">data_layout</td><td>Data layout of the input tensor</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if the configuration is supported </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00190">190</a> of file <a class="el" href="_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_size2_d_8h_source.xhtml#l00093">Size2D::height</a>, <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">NCHW</a>, <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, and <a class="el" href="_size2_d_8h_source.xhtml#l00092">Size2D::width</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="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">data_layout</a> == DataLayout::UNKNOWN);</div><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="keyword">using</span> WinogradConfiguration = std::pair<std::pair<int, int>, std::pair<int, int>>;</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>  std::vector<WinogradConfiguration> winograd_configs_nchw =</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>  WinogradConfiguration(std::pair<int, int>(1, 2), std::pair<int, int>(1, 3)),</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  WinogradConfiguration(std::pair<int, int>(1, 4), std::pair<int, int>(1, 3)),</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  WinogradConfiguration(std::pair<int, int>(2, 1), std::pair<int, int>(3, 1)),</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  WinogradConfiguration(std::pair<int, int>(4, 1), std::pair<int, int>(3, 1)),</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  WinogradConfiguration(std::pair<int, int>(2, 2), std::pair<int, int>(3, 3)),</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  WinogradConfiguration(std::pair<int, int>(4, 4), std::pair<int, int>(3, 3)),</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  WinogradConfiguration(std::pair<int, int>(4, 4), std::pair<int, int>(5, 5)),</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  WinogradConfiguration(std::pair<int, int>(4, 1), std::pair<int, int>(5, 1)),</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  WinogradConfiguration(std::pair<int, int>(1, 4), std::pair<int, int>(1, 5))</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  };</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>  std::vector<WinogradConfiguration> winograd_configs_nhwc =</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>  WinogradConfiguration(std::pair<int, int>(2, 2), std::pair<int, int>(3, 3)),</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  WinogradConfiguration(std::pair<int, int>(1, 4), std::pair<int, int>(1, 3)),</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  WinogradConfiguration(std::pair<int, int>(4, 1), std::pair<int, int>(3, 1)),</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  WinogradConfiguration(std::pair<int, int>(4, 4), std::pair<int, int>(3, 3)),</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  WinogradConfiguration(std::pair<int, int>(4, 4), std::pair<int, int>(5, 5)),</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  WinogradConfiguration(std::pair<int, int>(4, 1), std::pair<int, int>(5, 1)),</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  WinogradConfiguration(std::pair<int, int>(1, 4), std::pair<int, int>(1, 5))</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> </div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <span class="keyword">auto</span> p = std::make_pair(std::pair<int, int>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62aa9469ab6f4dac26615fa705f55354">output_tile</a>.width, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62aa9469ab6f4dac26615fa705f55354">output_tile</a>.height),</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  std::pair<int, int>(kernel_size.width, kernel_size.height));</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="comment">// Return true if supported</span></div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">data_layout</a> == DataLayout::NCHW)</div><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>  <span class="keywordflow">return</span> (std::find(winograd_configs_nchw.begin(), winograd_configs_nchw.end(), p) != winograd_configs_nchw.end());</div><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>  <span class="keywordflow">else</span></div><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> (std::find(winograd_configs_nhwc.begin(), winograd_configs_nhwc.end(), p) != winograd_configs_nhwc.end());</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="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a62aa9469ab6f4dac26615fa705f55354"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a62aa9469ab6f4dac26615fa705f55354">arm_compute::test::validation::output_tile</a></div><div class="ttdeci">output_tile</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00420">Winograd.cpp:420</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#l00337">Error.h:337</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a786677cbfb3f5677b4d84f3056eb08db"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">arm_compute::test::validation::data_layout</a></div><div class="ttdeci">data_layout</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00251">Winograd.cpp:251</a></div></div>
+<p class="definition">Definition at line <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00190">190</a> of file <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</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="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(data_layout == DataLayout::UNKNOWN);</div><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="keyword">using</span> WinogradConfiguration = std::pair<std::pair<int, int>, std::pair<int, int>>;</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>  std::vector<WinogradConfiguration> winograd_configs_nchw =</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>  WinogradConfiguration(std::pair<int, int>(1, 2), std::pair<int, int>(1, 3)),</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  WinogradConfiguration(std::pair<int, int>(1, 4), std::pair<int, int>(1, 3)),</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  WinogradConfiguration(std::pair<int, int>(2, 1), std::pair<int, int>(3, 1)),</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  WinogradConfiguration(std::pair<int, int>(4, 1), std::pair<int, int>(3, 1)),</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  WinogradConfiguration(std::pair<int, int>(2, 2), std::pair<int, int>(3, 3)),</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  WinogradConfiguration(std::pair<int, int>(4, 4), std::pair<int, int>(3, 3)),</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  WinogradConfiguration(std::pair<int, int>(4, 4), std::pair<int, int>(5, 5)),</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  WinogradConfiguration(std::pair<int, int>(4, 1), std::pair<int, int>(5, 1)),</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  WinogradConfiguration(std::pair<int, int>(1, 4), std::pair<int, int>(1, 5))</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  };</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>  std::vector<WinogradConfiguration> winograd_configs_nhwc =</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>  WinogradConfiguration(std::pair<int, int>(2, 2), std::pair<int, int>(3, 3)),</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  WinogradConfiguration(std::pair<int, int>(1, 4), std::pair<int, int>(1, 3)),</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  WinogradConfiguration(std::pair<int, int>(4, 1), std::pair<int, int>(3, 1)),</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  WinogradConfiguration(std::pair<int, int>(4, 4), std::pair<int, int>(3, 3)),</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  WinogradConfiguration(std::pair<int, int>(4, 4), std::pair<int, int>(5, 5)),</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  WinogradConfiguration(std::pair<int, int>(4, 1), std::pair<int, int>(5, 1)),</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  WinogradConfiguration(std::pair<int, int>(1, 4), std::pair<int, int>(1, 5))</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> </div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <span class="keyword">auto</span> p = std::make_pair(std::pair<int, int>(output_tile.width, output_tile.height),</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  std::pair<int, int>(kernel_size.width, kernel_size.height));</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="comment">// Return true if supported</span></div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keywordflow">if</span>(data_layout == DataLayout::NCHW)</div><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>  <span class="keywordflow">return</span> (std::find(winograd_configs_nchw.begin(), winograd_configs_nchw.end(), p) != winograd_configs_nchw.end());</div><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>  <span class="keywordflow">else</span></div><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> (std::find(winograd_configs_nhwc.begin(), winograd_configs_nhwc.end(), p) != winograd_configs_nhwc.end());</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="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#l00337">Error.h:337</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_size2_d_8h_source.xhtml#l00093">Size2D::height</a>, <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">NCHW</a>, <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, and <a class="el" href="_size2_d_8h_source.xhtml#l00092">Size2D::width</a>.</p>
+
</div>
</div>
<a id="af2be1325decaa34a8a1199af177148c6"></a>
@@ -8800,19 +9595,19 @@
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input IYUV data buffer. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output NV12 buffer. </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> for iterating the buffers. </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> for iterating the buffers. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00665">665</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</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>  <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="l00668"></a><span class="lineno"> 668</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="l00669"></a><span class="lineno"> 669</span>  win.validate();</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="keyword">const</span> <span class="keyword">auto</span> input_ptr = static_cast<const IMultiImage *__restrict>(input);</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = static_cast<IMultiImage *__restrict>(output);</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">// UV's width and height are subsampled</span></div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>  Window win_uv(win);</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</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="l00677"></a><span class="lineno"> 677</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="l00678"></a><span class="lineno"> 678</span>  win_uv.validate();</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>  Iterator in_y(input_ptr->plane(0), win);</div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>  Iterator in_u(input_ptr->plane(1), win_uv);</div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>  Iterator in_v(input_ptr->plane(2), win_uv);</div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>  Iterator out_y(output_ptr->plane(0), win);</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>  Iterator out_uv(output_ptr->plane(1), win_uv);</div><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>  <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</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="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</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="l00690"></a><span class="lineno"> 690</span>  uint8x16x2_t ta_uv;</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>  ta_uv.val[0] = vld1q_u8(in_u.ptr());</div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>  ta_uv.val[1] = vld1q_u8(in_v.ptr());</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>  <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>  <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>  <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>  <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div><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>  vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>  vst2q_u8(out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(), ta_y_bottom);</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>  vst2q_u8(out_uv.ptr(), ta_uv);</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>  },</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>  in_y, in_u, in_v, out_y, out_uv);</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</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#l00337">Error.h:337</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a5002bf7ec46d52971f9526e94172cfee"><div class="ttname"><a href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">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#l00122">Helpers.inl:122</a></div></div>
+</div><!-- fragment -->
<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">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#l00122">execute_window_loop()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">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#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
<p class="reference">Referenced by <a class="el" href="_n_e_color_convert_kernel_8cpp_source.xhtml#l00426">NEColorConvertKernel::configure()</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>  <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="l00668"></a><span class="lineno"> 668</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="l00669"></a><span class="lineno"> 669</span>  win.validate();</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="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="l00672"></a><span class="lineno"> 672</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="l00673"></a><span class="lineno"> 673</span> </div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>  <span class="comment">// UV's width and height are subsampled</span></div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>  Window win_uv(win);</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</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="l00677"></a><span class="lineno"> 677</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="l00678"></a><span class="lineno"> 678</span>  win_uv.validate();</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>  Iterator in_y(input_ptr->plane(0), win);</div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>  Iterator in_u(input_ptr->plane(1), win_uv);</div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>  Iterator in_v(input_ptr->plane(2), win_uv);</div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>  Iterator out_y(output_ptr->plane(0), win);</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>  Iterator out_uv(output_ptr->plane(1), win_uv);</div><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>  <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</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="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</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="l00690"></a><span class="lineno"> 690</span>  uint8x16x2_t ta_uv;</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>  ta_uv.val[0] = vld1q_u8(in_u.ptr());</div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>  ta_uv.val[1] = vld1q_u8(in_v.ptr());</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>  <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>  <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>  <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>  <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div><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>  vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>  vst2q_u8(out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(), ta_y_bottom);</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>  vst2q_u8(out_uv.ptr(), ta_uv);</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>  },</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>  in_y, in_u, in_v, out_y, out_uv);</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</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#l00337">Error.h:337</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a5002bf7ec46d52971f9526e94172cfee"><div class="ttname"><a href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">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#l00122">Helpers.inl:122</a></div></div>
-</div><!-- fragment -->
+
</div>
</div>
<a id="a6e42fac1baa264b033ac430b63ebd145"></a>
@@ -8852,21 +9647,19 @@
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input IYUV data buffer. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output RGB buffer. </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> for iterating the buffers. </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> for iterating the buffers. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00547">547</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
-
-<p class="reference">References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">arm_compute::test::validation::alpha</a>, <a class="el" href="_error_8h_source.xhtml#l00337">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#l00122">execute_window_loop()</a>, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00266">arm_compute::test::validation::out</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">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#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00086">Dimensions< T >::y()</a>, <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>, and <a class="el" href="_color_convert_helper_8h_source.xhtml#l00159">arm_compute::test::colorconvert_helper::detail::yuyv_to_rgb_calculation()</a>.</p>
-<div class="fragment"><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>  <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="l00550"></a><span class="lineno"> 550</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="l00551"></a><span class="lineno"> 551</span>  win.validate();</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span> </div><div class="line"><a name="l00553"></a><span class="lineno"> 553</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="l00554"></a><span class="lineno"> 554</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="l00555"></a><span class="lineno"> 555</span> </div><div class="line"><a name="l00556"></a><span class="lineno"> 556</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="l00557"></a><span class="lineno"> 557</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="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 <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>(output_ptr, win);</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>  <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</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>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</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_bottom = vld2q_u8(in_y.ptr() + input_ptr->plane(0)->info()->strides_in_bytes().y());</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_u = vld1q_u8(in_u.ptr());</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_v = vld1q_u8(in_v.ptr());</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>  <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>  <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>  <span class="comment">//ta_u.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>  <span class="comment">//ta_v.val[0] = V0 V2 V4 V6 ...</span></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="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>  float32x4x4_t yvec_top = convert_uint8x16_to_float32x4x4(ta_y_top.val[0]);</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>  float32x4x4_t yyvec_top = convert_uint8x16_to_float32x4x4(ta_y_top.val[1]);</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>  float32x4x4_t yvec_bottom = convert_uint8x16_to_float32x4x4(ta_y_bottom.val[0]);</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>  float32x4x4_t yyvec_bottom = convert_uint8x16_to_float32x4x4(ta_y_bottom.val[1]);</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>  float32x4x4_t uvec = convert_uint8x16_to_float32x4x4(ta_u);</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>  float32x4x4_t vvec = convert_uint8x16_to_float32x4x4(ta_v);</div><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>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_top.val[0], uvec.val[0], yyvec_top.val[0], vvec.val[0], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + 0 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_top.val[1], uvec.val[1], yyvec_top.val[1], vvec.val[1], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + 1 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_top.val[2], uvec.val[2], yyvec_top.val[2], vvec.val[2], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + 2 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_top.val[3], uvec.val[3], yyvec_top.val[3], vvec.val[3], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + 3 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</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>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_bottom.val[0], uvec.val[0], yyvec_bottom.val[0], vvec.val[0], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.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="l00595"></a><span class="lineno"> 595</span>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_bottom.val[1], uvec.val[1], yyvec_bottom.val[1], vvec.val[1], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.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="l00596"></a><span class="lineno"> 596</span>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_bottom.val[2], uvec.val[2], yyvec_bottom.val[2], vvec.val[2], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.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="l00597"></a><span class="lineno"> 597</span>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_bottom.val[3], uvec.val[3], yyvec_bottom.val[3], vvec.val[3], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.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="l00598"></a><span class="lineno"> 598</span>  },</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>  in_y, in_u, in_v, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>);</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</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#l00337">Error.h:337</a></div></div>
+<div class="fragment"><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>  <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="l00550"></a><span class="lineno"> 550</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="l00551"></a><span class="lineno"> 551</span>  win.validate();</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span> </div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = static_cast<const IMultiImage *__restrict>(input);</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = static_cast<IImage *__restrict>(output);</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>  constexpr <span class="keyword">auto</span> element_size = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a3161c2c93c655dd30953372064ec627b">alpha</a> ? 32 : 24;</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</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="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(output_ptr, win);</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>  <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</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>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</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_bottom = vld2q_u8(in_y.ptr() + input_ptr->plane(0)->info()->strides_in_bytes().y());</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_u = vld1q_u8(in_u.ptr());</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_v = vld1q_u8(in_v.ptr());</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>  <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>  <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>  <span class="comment">//ta_u.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>  <span class="comment">//ta_v.val[0] = V0 V2 V4 V6 ...</span></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="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>  float32x4x4_t yvec_top = convert_uint8x16_to_float32x4x4(ta_y_top.val[0]);</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>  float32x4x4_t yyvec_top = convert_uint8x16_to_float32x4x4(ta_y_top.val[1]);</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>  float32x4x4_t yvec_bottom = convert_uint8x16_to_float32x4x4(ta_y_bottom.val[0]);</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>  float32x4x4_t yyvec_bottom = convert_uint8x16_to_float32x4x4(ta_y_bottom.val[1]);</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>  float32x4x4_t uvec = convert_uint8x16_to_float32x4x4(ta_u);</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>  float32x4x4_t vvec = convert_uint8x16_to_float32x4x4(ta_v);</div><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>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(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#a3161c2c93c655dd30953372064ec627b">alpha</a>);</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(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#a3161c2c93c655dd30953372064ec627b">alpha</a>);</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(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#a3161c2c93c655dd30953372064ec627b">alpha</a>);</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(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#a3161c2c93c655dd30953372064ec627b">alpha</a>);</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>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(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#a3161c2c93c655dd30953372064ec627b">alpha</a>);</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(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#a3161c2c93c655dd30953372064ec627b">alpha</a>);</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(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#a3161c2c93c655dd30953372064ec627b">alpha</a>);</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(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#a3161c2c93c655dd30953372064ec627b">alpha</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>  in_y, in_u, in_v, out);</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</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#l00337">Error.h:337</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail_xhtml_a2a36a93e164b484404fe908cefd6099a"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">arm_compute::test::colorconvert_helper::detail::yuyv_to_rgb_calculation</a></div><div class="ttdeci">void yuyv_to_rgb_calculation(const SimpleTensor< T > yvec, const SimpleTensor< T > vvec, const SimpleTensor< T > yyvec, const SimpleTensor< T > uvec, SimpleTensor< T > &dst)</div><div class="ttdef"><b>Definition:</b> <a href="_color_convert_helper_8h_source.xhtml#l00159">ColorConvertHelper.h:159</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_af8a8a0625e7981212a0af48deb9d2a09"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">arm_compute::test::validation::out</a></div><div class="ttdeci">CLTensor out</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00266">Winograd.cpp:266</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="ttdoc">Interface for CPP Images. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00037">CPPCornerCandidatesKernel.h:37</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a3161c2c93c655dd30953372064ec627b"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a3161c2c93c655dd30953372064ec627b">arm_compute::test::validation::alpha</a></div><div class="ttdeci">const float alpha</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_accumulate_8cpp_source.xhtml#l00103">Accumulate.cpp:103</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a5002bf7ec46d52971f9526e94172cfee"><div class="ttname"><a href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">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#l00122">Helpers.inl:122</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_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">GEMM.cpp:87</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_n_e_o_n_2_accumulate_8cpp_source.xhtml#l00103">arm_compute::test::validation::alpha</a>, <a class="el" href="_error_8h_source.xhtml#l00337">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#l00122">execute_window_loop()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">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#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>, and <a class="el" href="_color_convert_helper_8h_source.xhtml#l00159">arm_compute::test::colorconvert_helper::detail::yuyv_to_rgb_calculation()</a>.</p>
+
</div>
</div>
<a id="a08e9d88293a5cef787bb324c2dc0a6bf"></a>
@@ -8906,19 +9699,19 @@
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input IYUV data buffer. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output YUV4 buffer. </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> for iterating the buffers. </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> for iterating the buffers. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00880">880</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
-
+<div class="fragment"><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>  <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="l00883"></a><span class="lineno"> 883</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="l00884"></a><span class="lineno"> 884</span>  win.validate();</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>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = static_cast<const IMultiImage *__restrict>(input);</div><div class="line"><a name="l00887"></a><span class="lineno"> 887</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = static_cast<IMultiImage *__restrict>(output);</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>  <span class="comment">// UV's width and height are subsampled</span></div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>  Window win_uv(win);</div><div class="line"><a name="l00891"></a><span class="lineno"> 891</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="l00892"></a><span class="lineno"> 892</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="l00893"></a><span class="lineno"> 893</span>  win_uv.validate();</div><div class="line"><a name="l00894"></a><span class="lineno"> 894</span> </div><div class="line"><a name="l00895"></a><span class="lineno"> 895</span>  Iterator in_y(input_ptr->plane(0), win);</div><div class="line"><a name="l00896"></a><span class="lineno"> 896</span>  Iterator in_u(input_ptr->plane(1), win_uv);</div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span>  Iterator in_v(input_ptr->plane(2), win_uv);</div><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>  Iterator out_y(output_ptr->plane(0), win);</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>  Iterator out_u(output_ptr->plane(1), win);</div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>  Iterator out_v(output_ptr->plane(2), win);</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>  <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</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> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00905"></a><span class="lineno"> 905</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="l00906"></a><span class="lineno"> 906</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_u = vld1q_u8(in_u.ptr());</div><div class="line"><a name="l00907"></a><span class="lineno"> 907</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_v = vld1q_u8(in_v.ptr());</div><div class="line"><a name="l00908"></a><span class="lineno"> 908</span>  <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00909"></a><span class="lineno"> 909</span>  <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00910"></a><span class="lineno"> 910</span>  <span class="comment">//ta_u = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00911"></a><span class="lineno"> 911</span>  <span class="comment">//ta_v = V0 V2 V4 V6 ...</span></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>  vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00914"></a><span class="lineno"> 914</span>  vst2q_u8(out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(), ta_y_bottom);</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>  uint8x16x2_t uvec;</div><div class="line"><a name="l00917"></a><span class="lineno"> 917</span>  uvec.val[0] = ta_u;</div><div class="line"><a name="l00918"></a><span class="lineno"> 918</span>  uvec.val[1] = ta_u;</div><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>  vst2q_u8(out_u.ptr(), uvec);</div><div class="line"><a name="l00920"></a><span class="lineno"> 920</span>  vst2q_u8(out_u.ptr() + output_ptr->plane(1)->info()->strides_in_bytes().y(), uvec);</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>  uint8x16x2_t vvec;</div><div class="line"><a name="l00923"></a><span class="lineno"> 923</span>  vvec.val[0] = ta_v;</div><div class="line"><a name="l00924"></a><span class="lineno"> 924</span>  vvec.val[1] = ta_v;</div><div class="line"><a name="l00925"></a><span class="lineno"> 925</span>  vst2q_u8(out_v.ptr(), vvec);</div><div class="line"><a name="l00926"></a><span class="lineno"> 926</span>  vst2q_u8(out_v.ptr() + output_ptr->plane(2)->info()->strides_in_bytes().y(), vvec);</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>  in_y, in_u, in_v, out_y, out_u, out_v);</div><div class="line"><a name="l00929"></a><span class="lineno"> 929</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#l00337">Error.h:337</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a5002bf7ec46d52971f9526e94172cfee"><div class="ttname"><a href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">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#l00122">Helpers.inl:122</a></div></div>
+</div><!-- fragment -->
<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">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#l00122">execute_window_loop()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">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#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
<p class="reference">Referenced by <a class="el" href="_n_e_color_convert_kernel_8cpp_source.xhtml#l00426">NEColorConvertKernel::configure()</a>.</p>
-<div class="fragment"><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>  <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="l00883"></a><span class="lineno"> 883</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="l00884"></a><span class="lineno"> 884</span>  win.validate();</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>  <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="l00887"></a><span class="lineno"> 887</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="l00888"></a><span class="lineno"> 888</span> </div><div class="line"><a name="l00889"></a><span class="lineno"> 889</span>  <span class="comment">// UV's width and height are subsampled</span></div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>  Window win_uv(win);</div><div class="line"><a name="l00891"></a><span class="lineno"> 891</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="l00892"></a><span class="lineno"> 892</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="l00893"></a><span class="lineno"> 893</span>  win_uv.validate();</div><div class="line"><a name="l00894"></a><span class="lineno"> 894</span> </div><div class="line"><a name="l00895"></a><span class="lineno"> 895</span>  Iterator in_y(input_ptr->plane(0), win);</div><div class="line"><a name="l00896"></a><span class="lineno"> 896</span>  Iterator in_u(input_ptr->plane(1), win_uv);</div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span>  Iterator in_v(input_ptr->plane(2), win_uv);</div><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>  Iterator out_y(output_ptr->plane(0), win);</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>  Iterator out_u(output_ptr->plane(1), win);</div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>  Iterator out_v(output_ptr->plane(2), win);</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>  <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</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> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00905"></a><span class="lineno"> 905</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="l00906"></a><span class="lineno"> 906</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_u = vld1q_u8(in_u.ptr());</div><div class="line"><a name="l00907"></a><span class="lineno"> 907</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_v = vld1q_u8(in_v.ptr());</div><div class="line"><a name="l00908"></a><span class="lineno"> 908</span>  <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00909"></a><span class="lineno"> 909</span>  <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00910"></a><span class="lineno"> 910</span>  <span class="comment">//ta_u = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00911"></a><span class="lineno"> 911</span>  <span class="comment">//ta_v = V0 V2 V4 V6 ...</span></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>  vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00914"></a><span class="lineno"> 914</span>  vst2q_u8(out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(), ta_y_bottom);</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>  uint8x16x2_t uvec;</div><div class="line"><a name="l00917"></a><span class="lineno"> 917</span>  uvec.val[0] = ta_u;</div><div class="line"><a name="l00918"></a><span class="lineno"> 918</span>  uvec.val[1] = ta_u;</div><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>  vst2q_u8(out_u.ptr(), uvec);</div><div class="line"><a name="l00920"></a><span class="lineno"> 920</span>  vst2q_u8(out_u.ptr() + output_ptr->plane(1)->info()->strides_in_bytes().y(), uvec);</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>  uint8x16x2_t vvec;</div><div class="line"><a name="l00923"></a><span class="lineno"> 923</span>  vvec.val[0] = ta_v;</div><div class="line"><a name="l00924"></a><span class="lineno"> 924</span>  vvec.val[1] = ta_v;</div><div class="line"><a name="l00925"></a><span class="lineno"> 925</span>  vst2q_u8(out_v.ptr(), vvec);</div><div class="line"><a name="l00926"></a><span class="lineno"> 926</span>  vst2q_u8(out_v.ptr() + output_ptr->plane(2)->info()->strides_in_bytes().y(), vvec);</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>  in_y, in_u, in_v, out_y, out_u, out_v);</div><div class="line"><a name="l00929"></a><span class="lineno"> 929</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#l00337">Error.h:337</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a5002bf7ec46d52971f9526e94172cfee"><div class="ttname"><a href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">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#l00122">Helpers.inl:122</a></div></div>
-</div><!-- fragment -->
+
</div>
</div>
<a id="a199d36780fbb4a70168f290480673650"></a>
@@ -8958,17 +9751,18 @@
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input NV12 data buffer. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output IYUV buffer. </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> for iterating the buffers. </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> for iterating the buffers. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00713">713</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">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#l00122">execute_window_loop()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">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#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00714"></a><span class="lineno"> 714</span> {</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</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="l00716"></a><span class="lineno"> 716</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="l00717"></a><span class="lineno"> 717</span>  win.validate();</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>  <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="l00720"></a><span class="lineno"> 720</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="l00721"></a><span class="lineno"> 721</span> </div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span>  constexpr <span class="keyword">auto</span> shift = uv ? 0 : 1;</div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span> </div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>  <span class="comment">// UV's width and height are subsampled</span></div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>  Window win_uv(win);</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</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="l00727"></a><span class="lineno"> 727</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="l00728"></a><span class="lineno"> 728</span>  win_uv.validate();</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>  Iterator in_y(input_ptr->plane(0), win);</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  Iterator in_uv(input_ptr->plane(1), win_uv);</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>  Iterator out_y(output_ptr->plane(0), win);</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>  Iterator out_u(output_ptr->plane(1), win_uv);</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  Iterator out_v(output_ptr->plane(2), win_uv);</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span> </div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>  <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>  {</div><div class="line"><a name="l00738"></a><span class="lineno"> 738</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="l00739"></a><span class="lineno"> 739</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="l00740"></a><span class="lineno"> 740</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_uv = vld2q_u8(in_uv.ptr());</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>  <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>  <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>  <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>  <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></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>  vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>  vst2q_u8(out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(), ta_y_bottom);</div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>  vst1q_u8(out_u.ptr(), ta_uv.val[0 + shift]);</div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>  vst1q_u8(out_v.ptr(), ta_uv.val[1 - shift]);</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>  in_y, in_uv, out_y, out_u, out_v);</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</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#l00337">Error.h:337</a></div></div>
+<div class="fragment"><div class="line"><a name="l00714"></a><span class="lineno"> 714</span> {</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</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="l00716"></a><span class="lineno"> 716</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="l00717"></a><span class="lineno"> 717</span>  win.validate();</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>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = static_cast<const IMultiImage *__restrict>(input);</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = static_cast<IMultiImage *__restrict>(output);</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>  constexpr <span class="keyword">auto</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">shift</a> = uv ? 0 : 1;</div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span> </div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>  <span class="comment">// UV's width and height are subsampled</span></div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>  Window win_uv(win);</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</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="l00727"></a><span class="lineno"> 727</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="l00728"></a><span class="lineno"> 728</span>  win_uv.validate();</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>  Iterator in_y(input_ptr->plane(0), win);</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  Iterator in_uv(input_ptr->plane(1), win_uv);</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>  Iterator out_y(output_ptr->plane(0), win);</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>  Iterator out_u(output_ptr->plane(1), win_uv);</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  Iterator out_v(output_ptr->plane(2), win_uv);</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span> </div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>  <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>  {</div><div class="line"><a name="l00738"></a><span class="lineno"> 738</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="l00739"></a><span class="lineno"> 739</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="l00740"></a><span class="lineno"> 740</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_uv = vld2q_u8(in_uv.ptr());</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>  <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>  <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>  <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>  <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></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>  vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>  vst2q_u8(out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(), ta_y_bottom);</div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>  vst1q_u8(out_u.ptr(), ta_uv.val[0 + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">shift</a>]);</div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>  vst1q_u8(out_v.ptr(), ta_uv.val[1 - <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">shift</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>  in_y, in_uv, out_y, out_u, out_v);</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a979a54caef6e77ce0259e427136847e8"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">arm_compute::test::validation::shift</a></div><div class="ttdeci">shift</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_depth_convert_layer_8cpp_source.xhtml#l00155">DepthConvertLayer.cpp:155</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#l00337">Error.h:337</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a5002bf7ec46d52971f9526e94172cfee"><div class="ttname"><a href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">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#l00122">Helpers.inl:122</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">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#l00122">execute_window_loop()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, <a class="el" href="_c_l_2_depth_convert_layer_8cpp_source.xhtml#l00155">arm_compute::test::validation::shift</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#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
+
</div>
</div>
<a id="ae6a44e412bccc0705a720708b0692218"></a>
@@ -9008,21 +9802,20 @@
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input NV12 data buffer. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output RGB buffer. </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> for iterating the buffers. </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> for iterating the buffers. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00485">485</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
-
-<p class="reference">References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">arm_compute::test::validation::alpha</a>, <a class="el" href="_error_8h_source.xhtml#l00337">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#l00122">execute_window_loop()</a>, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00266">arm_compute::test::validation::out</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">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#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00086">Dimensions< T >::y()</a>, <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>, and <a class="el" href="_color_convert_helper_8h_source.xhtml#l00159">arm_compute::test::colorconvert_helper::detail::yuyv_to_rgb_calculation()</a>.</p>
-<div class="fragment"><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>  <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="l00488"></a><span class="lineno"> 488</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="l00489"></a><span class="lineno"> 489</span>  win.validate();</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="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="l00492"></a><span class="lineno"> 492</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="l00493"></a><span class="lineno"> 493</span> </div><div class="line"><a name="l00494"></a><span class="lineno"> 494</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="l00495"></a><span class="lineno"> 495</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="l00496"></a><span class="lineno"> 496</span>  constexpr <span class="keyword">auto</span> shift = uv ? 0 : 1;</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>  <span class="comment">// UV's width and height are subsampled</span></div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  Window win_uv(win);</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</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="l00501"></a><span class="lineno"> 501</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="l00502"></a><span class="lineno"> 502</span>  win_uv.validate();</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>  Iterator in_y(input_ptr->plane(0), win);</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  Iterator in_uv(input_ptr->plane(1), win_uv);</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>(output_ptr, win);</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>  <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</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">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</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="l00512"></a><span class="lineno"> 512</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_uv = vld2q_u8(in_uv.ptr());</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</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="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  float32x4x4_t yvec_top = convert_uint8x16_to_float32x4x4(ta_y_top.val[0]);</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  float32x4x4_t yyvec_top = convert_uint8x16_to_float32x4x4(ta_y_top.val[1]);</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  float32x4x4_t yvec_bottom = convert_uint8x16_to_float32x4x4(ta_y_bottom.val[0]);</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  float32x4x4_t yyvec_bottom = convert_uint8x16_to_float32x4x4(ta_y_bottom.val[1]);</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  float32x4x4_t uvec = convert_uint8x16_to_float32x4x4(ta_uv.val[0 + shift]);</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>  float32x4x4_t vvec = convert_uint8x16_to_float32x4x4(ta_uv.val[1 - shift]);</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>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_top.val[0], uvec.val[0], yyvec_top.val[0], vvec.val[0], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + 0 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_top.val[1], uvec.val[1], yyvec_top.val[1], vvec.val[1], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + 1 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_top.val[2], uvec.val[2], yyvec_top.val[2], vvec.val[2], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + 2 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_top.val[3], uvec.val[3], yyvec_top.val[3], vvec.val[3], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + 3 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><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>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_bottom.val[0], uvec.val[0], yyvec_bottom.val[0], vvec.val[0], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.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="l00532"></a><span class="lineno"> 532</span>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_bottom.val[1], uvec.val[1], yyvec_bottom.val[1], vvec.val[1], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.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="l00533"></a><span class="lineno"> 533</span>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_bottom.val[2], uvec.val[2], yyvec_bottom.val[2], vvec.val[2], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.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="l00534"></a><span class="lineno"> 534</span>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_bottom.val[3], uvec.val[3], yyvec_bottom.val[3], vvec.val[3], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.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="l00535"></a><span class="lineno"> 535</span>  },</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>  in_y, in_uv, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>);</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</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#l00337">Error.h:337</a></div></div>
+<div class="fragment"><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>  <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="l00488"></a><span class="lineno"> 488</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="l00489"></a><span class="lineno"> 489</span>  win.validate();</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="keyword">const</span> <span class="keyword">auto</span> input_ptr = static_cast<const IMultiImage *__restrict>(input);</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = static_cast<IImage *__restrict>(output);</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>  constexpr <span class="keyword">auto</span> element_size = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a3161c2c93c655dd30953372064ec627b">alpha</a> ? 32 : 24;</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</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="l00496"></a><span class="lineno"> 496</span>  constexpr <span class="keyword">auto</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">shift</a> = uv ? 0 : 1;</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>  <span class="comment">// UV's width and height are subsampled</span></div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  Window win_uv(win);</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</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="l00501"></a><span class="lineno"> 501</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="l00502"></a><span class="lineno"> 502</span>  win_uv.validate();</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>  Iterator in_y(input_ptr->plane(0), win);</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  Iterator in_uv(input_ptr->plane(1), win_uv);</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  Iterator out(output_ptr, win);</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>  <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</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">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</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="l00512"></a><span class="lineno"> 512</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_uv = vld2q_u8(in_uv.ptr());</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</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="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  float32x4x4_t yvec_top = convert_uint8x16_to_float32x4x4(ta_y_top.val[0]);</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  float32x4x4_t yyvec_top = convert_uint8x16_to_float32x4x4(ta_y_top.val[1]);</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  float32x4x4_t yvec_bottom = convert_uint8x16_to_float32x4x4(ta_y_bottom.val[0]);</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  float32x4x4_t yyvec_bottom = convert_uint8x16_to_float32x4x4(ta_y_bottom.val[1]);</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  float32x4x4_t uvec = convert_uint8x16_to_float32x4x4(ta_uv.val[0 + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">shift</a>]);</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>  float32x4x4_t vvec = convert_uint8x16_to_float32x4x4(ta_uv.val[1 - <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">shift</a>]);</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>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(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#a3161c2c93c655dd30953372064ec627b">alpha</a>);</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(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#a3161c2c93c655dd30953372064ec627b">alpha</a>);</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(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#a3161c2c93c655dd30953372064ec627b">alpha</a>);</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(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#a3161c2c93c655dd30953372064ec627b">alpha</a>);</div><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>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(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#a3161c2c93c655dd30953372064ec627b">alpha</a>);</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(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#a3161c2c93c655dd30953372064ec627b">alpha</a>);</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(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#a3161c2c93c655dd30953372064ec627b">alpha</a>);</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(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#a3161c2c93c655dd30953372064ec627b">alpha</a>);</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>  in_y, in_uv, out);</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a979a54caef6e77ce0259e427136847e8"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">arm_compute::test::validation::shift</a></div><div class="ttdeci">shift</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_depth_convert_layer_8cpp_source.xhtml#l00155">DepthConvertLayer.cpp:155</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#l00337">Error.h:337</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail_xhtml_a2a36a93e164b484404fe908cefd6099a"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">arm_compute::test::colorconvert_helper::detail::yuyv_to_rgb_calculation</a></div><div class="ttdeci">void yuyv_to_rgb_calculation(const SimpleTensor< T > yvec, const SimpleTensor< T > vvec, const SimpleTensor< T > yyvec, const SimpleTensor< T > uvec, SimpleTensor< T > &dst)</div><div class="ttdef"><b>Definition:</b> <a href="_color_convert_helper_8h_source.xhtml#l00159">ColorConvertHelper.h:159</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_af8a8a0625e7981212a0af48deb9d2a09"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">arm_compute::test::validation::out</a></div><div class="ttdeci">CLTensor out</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00266">Winograd.cpp:266</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="ttdoc">Interface for CPP Images. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00037">CPPCornerCandidatesKernel.h:37</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a3161c2c93c655dd30953372064ec627b"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a3161c2c93c655dd30953372064ec627b">arm_compute::test::validation::alpha</a></div><div class="ttdeci">const float alpha</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_accumulate_8cpp_source.xhtml#l00103">Accumulate.cpp:103</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a5002bf7ec46d52971f9526e94172cfee"><div class="ttname"><a href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">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#l00122">Helpers.inl:122</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_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">GEMM.cpp:87</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_n_e_o_n_2_accumulate_8cpp_source.xhtml#l00103">arm_compute::test::validation::alpha</a>, <a class="el" href="_error_8h_source.xhtml#l00337">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#l00122">execute_window_loop()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, <a class="el" href="_c_l_2_depth_convert_layer_8cpp_source.xhtml#l00155">arm_compute::test::validation::shift</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#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>, and <a class="el" href="_color_convert_helper_8h_source.xhtml#l00159">arm_compute::test::colorconvert_helper::detail::yuyv_to_rgb_calculation()</a>.</p>
+
</div>
</div>
<a id="a587a54c85dcc72838b8f4b5575ebafe4"></a>
@@ -9062,17 +9855,18 @@
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input NV12 data buffer. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output YUV4 buffer. </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> for iterating the buffers. </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> for iterating the buffers. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00822">822</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">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#l00122">execute_window_loop()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">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#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
-<div class="fragment"><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>  <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="l00825"></a><span class="lineno"> 825</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="l00826"></a><span class="lineno"> 826</span>  win.validate();</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">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="l00829"></a><span class="lineno"> 829</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="l00830"></a><span class="lineno"> 830</span> </div><div class="line"><a name="l00831"></a><span class="lineno"> 831</span>  constexpr <span class="keyword">auto</span> shift = uv ? 0 : 1;</div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span> </div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span>  <span class="comment">// UV's width and height are subsampled</span></div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span>  Window win_uv(win);</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</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="l00836"></a><span class="lineno"> 836</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="l00837"></a><span class="lineno"> 837</span>  win_uv.validate();</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>  Iterator in_y(input_ptr->plane(0), win);</div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span>  Iterator in_uv(input_ptr->plane(1), win_uv);</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);</div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span>  Iterator out_v(output_ptr->plane(2), win);</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#a5002bf7ec46d52971f9526e94172cfee">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_y_top = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00848"></a><span class="lineno"> 848</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="l00849"></a><span class="lineno"> 849</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_uv = vld2q_u8(in_uv.ptr());</div><div class="line"><a name="l00850"></a><span class="lineno"> 850</span>  <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00851"></a><span class="lineno"> 851</span>  <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00852"></a><span class="lineno"> 852</span>  <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00853"></a><span class="lineno"> 853</span>  <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></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>  vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00856"></a><span class="lineno"> 856</span>  vst2q_u8(out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(), ta_y_bottom);</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>  uint8x16x2_t uvec;</div><div class="line"><a name="l00859"></a><span class="lineno"> 859</span>  uvec.val[0] = ta_uv.val[0 + shift];</div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>  uvec.val[1] = ta_uv.val[0 + shift];</div><div class="line"><a name="l00861"></a><span class="lineno"> 861</span>  vst2q_u8(out_u.ptr(), uvec);</div><div class="line"><a name="l00862"></a><span class="lineno"> 862</span>  vst2q_u8(out_u.ptr() + output_ptr->plane(1)->info()->strides_in_bytes().y(), uvec);</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>  uint8x16x2_t vvec;</div><div class="line"><a name="l00865"></a><span class="lineno"> 865</span>  vvec.val[0] = ta_uv.val[1 - shift];</div><div class="line"><a name="l00866"></a><span class="lineno"> 866</span>  vvec.val[1] = ta_uv.val[1 - shift];</div><div class="line"><a name="l00867"></a><span class="lineno"> 867</span>  vst2q_u8(out_v.ptr(), vvec);</div><div class="line"><a name="l00868"></a><span class="lineno"> 868</span>  vst2q_u8(out_v.ptr() + output_ptr->plane(2)->info()->strides_in_bytes().y(), vvec);</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>  in_y, in_uv, out_y, out_u, out_v);</div><div class="line"><a name="l00871"></a><span class="lineno"> 871</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#l00337">Error.h:337</a></div></div>
+<div class="fragment"><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>  <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="l00825"></a><span class="lineno"> 825</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="l00826"></a><span class="lineno"> 826</span>  win.validate();</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">const</span> <span class="keyword">auto</span> input_ptr = static_cast<const IMultiImage *__restrict>(input);</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = static_cast<IMultiImage *__restrict>(output);</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>  constexpr <span class="keyword">auto</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">shift</a> = uv ? 0 : 1;</div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span> </div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span>  <span class="comment">// UV's width and height are subsampled</span></div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span>  Window win_uv(win);</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</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="l00836"></a><span class="lineno"> 836</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="l00837"></a><span class="lineno"> 837</span>  win_uv.validate();</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>  Iterator in_y(input_ptr->plane(0), win);</div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span>  Iterator in_uv(input_ptr->plane(1), win_uv);</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);</div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span>  Iterator out_v(output_ptr->plane(2), win);</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#a5002bf7ec46d52971f9526e94172cfee">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_y_top = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00848"></a><span class="lineno"> 848</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="l00849"></a><span class="lineno"> 849</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_uv = vld2q_u8(in_uv.ptr());</div><div class="line"><a name="l00850"></a><span class="lineno"> 850</span>  <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00851"></a><span class="lineno"> 851</span>  <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00852"></a><span class="lineno"> 852</span>  <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00853"></a><span class="lineno"> 853</span>  <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></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>  vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00856"></a><span class="lineno"> 856</span>  vst2q_u8(out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(), ta_y_bottom);</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>  uint8x16x2_t uvec;</div><div class="line"><a name="l00859"></a><span class="lineno"> 859</span>  uvec.val[0] = ta_uv.val[0 + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">shift</a>];</div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>  uvec.val[1] = ta_uv.val[0 + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">shift</a>];</div><div class="line"><a name="l00861"></a><span class="lineno"> 861</span>  vst2q_u8(out_u.ptr(), uvec);</div><div class="line"><a name="l00862"></a><span class="lineno"> 862</span>  vst2q_u8(out_u.ptr() + output_ptr->plane(1)->info()->strides_in_bytes().y(), uvec);</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>  uint8x16x2_t vvec;</div><div class="line"><a name="l00865"></a><span class="lineno"> 865</span>  vvec.val[0] = ta_uv.val[1 - <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">shift</a>];</div><div class="line"><a name="l00866"></a><span class="lineno"> 866</span>  vvec.val[1] = ta_uv.val[1 - <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">shift</a>];</div><div class="line"><a name="l00867"></a><span class="lineno"> 867</span>  vst2q_u8(out_v.ptr(), vvec);</div><div class="line"><a name="l00868"></a><span class="lineno"> 868</span>  vst2q_u8(out_v.ptr() + output_ptr->plane(2)->info()->strides_in_bytes().y(), vvec);</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>  in_y, in_uv, out_y, out_u, out_v);</div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a979a54caef6e77ce0259e427136847e8"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">arm_compute::test::validation::shift</a></div><div class="ttdeci">shift</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_depth_convert_layer_8cpp_source.xhtml#l00155">DepthConvertLayer.cpp:155</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#l00337">Error.h:337</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a5002bf7ec46d52971f9526e94172cfee"><div class="ttname"><a href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">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#l00122">Helpers.inl:122</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">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#l00122">execute_window_loop()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, <a class="el" href="_c_l_2_depth_convert_layer_8cpp_source.xhtml#l00155">arm_compute::test::validation::shift</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#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
+
</div>
</div>
<a id="a49b7a8e217ba7aad821fdeaab86bad53"></a>
@@ -9112,23 +9906,18 @@
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input RGB data buffer. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output IYUV buffer. </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> for iterating the buffers. </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> for iterating the buffers. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00982">982</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
-
-<p class="reference">References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">arm_compute::test::validation::alpha</a>, <a class="el" href="_error_8h_source.xhtml#l00337">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#l00122">execute_window_loop()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00265">arm_compute::test::validation::in</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">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#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
-<div class="fragment"><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>  <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="l00985"></a><span class="lineno"> 985</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="l00986"></a><span class="lineno"> 986</span>  win.validate();</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>  <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="l00989"></a><span class="lineno"> 989</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="l00990"></a><span class="lineno"> 990</span> </div><div class="line"><a name="l00991"></a><span class="lineno"> 991</span>  <span class="comment">// UV's width and height are subsampled</span></div><div class="line"><a name="l00992"></a><span class="lineno"> 992</span>  Window win_uv(win);</div><div class="line"><a name="l00993"></a><span class="lineno"> 993</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="l00994"></a><span class="lineno"> 994</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="l00995"></a><span class="lineno"> 995</span>  win_uv.validate();</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>  Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>(input_ptr, win);</div><div class="line"><a name="l00998"></a><span class="lineno"> 998</span>  Iterator out_y(output_ptr->plane(0), win);</div><div class="line"><a name="l00999"></a><span class="lineno"> 999</span>  Iterator out_u(output_ptr->plane(1), win_uv);</div><div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>  Iterator out_v(output_ptr->plane(2), win_uv);</div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> </div><div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>  <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div><div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>  {</div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_top = load_rgb(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_bottom = load_rgb(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr() + input_ptr-><a class="code" href="classarm__compute_1_1_c_l_tensor.xhtml#ad45f0c01a0713dfb6bd7232c7f396fc4">info</a>()-><a class="code" href="classarm__compute_1_1_tensor_info.xhtml#a5f1ca9d674346287cae57a6c5b5c24ec">strides_in_bytes</a>().<a class="code" href="classarm__compute_1_1_dimensions.xhtml#ac4a1050be02b20b3f791b9a483f3abe2">y</a>(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>  <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div><div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>  <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div><div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>  <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></div><div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> </div><div class="line"><a name="l01010"></a><span class="lineno"> 1010</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="l01011"></a><span class="lineno"> 1011</span>  ta_rgb_bottom.val[0], ta_rgb_bottom.val[1], ta_rgb_bottom.val[2],</div><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>  out_y.ptr(), out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(),</div><div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>  out_u.ptr(), out_v.ptr());</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>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>, out_y, out_u, out_v);</div><div class="line"><a name="l01016"></a><span class="lineno"> 1016</span> }</div><div class="ttc" id="classarm__compute_1_1_c_l_tensor_xhtml_ad45f0c01a0713dfb6bd7232c7f396fc4"><div class="ttname"><a href="classarm__compute_1_1_c_l_tensor.xhtml#ad45f0c01a0713dfb6bd7232c7f396fc4">arm_compute::CLTensor::info</a></div><div class="ttdeci">TensorInfo * info() const override</div><div class="ttdoc">Interface to be implemented by the child class to return the tensor&#39;s metadata. </div><div class="ttdef"><b>Definition:</b> <a href="_c_l_tensor_8cpp_source.xhtml#l00035">CLTensor.cpp:35</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad366eaa4cf2d106037d91c30795a5c76"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">arm_compute::test::validation::in</a></div><div class="ttdeci">CLTensor in</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00265">Winograd.cpp:265</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#l00337">Error.h:337</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_tensor_info_xhtml_a5f1ca9d674346287cae57a6c5b5c24ec"><div class="ttname"><a href="classarm__compute_1_1_tensor_info.xhtml#a5f1ca9d674346287cae57a6c5b5c24ec">arm_compute::TensorInfo::strides_in_bytes</a></div><div class="ttdeci">const Strides & strides_in_bytes() const override</div><div class="ttdoc">The strides in bytes for accessing each dimension of the tensor. </div><div class="ttdef"><b>Definition:</b> <a href="_tensor_info_8h_source.xhtml#l00231">TensorInfo.h:231</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="ttdoc">Interface for CPP Images. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00037">CPPCornerCandidatesKernel.h:37</a></div></div>
+<div class="fragment"><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>  <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="l00985"></a><span class="lineno"> 985</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="l00986"></a><span class="lineno"> 986</span>  win.validate();</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>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = static_cast<const IImage *__restrict>(input);</div><div class="line"><a name="l00989"></a><span class="lineno"> 989</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = static_cast<IMultiImage *__restrict>(output);</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>  <span class="comment">// UV's width and height are subsampled</span></div><div class="line"><a name="l00992"></a><span class="lineno"> 992</span>  Window win_uv(win);</div><div class="line"><a name="l00993"></a><span class="lineno"> 993</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="l00994"></a><span class="lineno"> 994</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="l00995"></a><span class="lineno"> 995</span>  win_uv.validate();</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>  Iterator in(input_ptr, win);</div><div class="line"><a name="l00998"></a><span class="lineno"> 998</span>  Iterator out_y(output_ptr->plane(0), win);</div><div class="line"><a name="l00999"></a><span class="lineno"> 999</span>  Iterator out_u(output_ptr->plane(1), win_uv);</div><div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>  Iterator out_v(output_ptr->plane(2), win_uv);</div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> </div><div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>  <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div><div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>  {</div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</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#a3161c2c93c655dd30953372064ec627b">alpha</a>);</div><div class="line"><a name="l01005"></a><span class="lineno"> 1005</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#a3161c2c93c655dd30953372064ec627b">alpha</a>);</div><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>  <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div><div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>  <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div><div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>  <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></div><div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> </div><div class="line"><a name="l01010"></a><span class="lineno"> 1010</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="l01011"></a><span class="lineno"> 1011</span>  ta_rgb_bottom.val[0], ta_rgb_bottom.val[1], ta_rgb_bottom.val[2],</div><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>  out_y.ptr(), out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(),</div><div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>  out_u.ptr(), out_v.ptr());</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>  in, out_y, out_u, out_v);</div><div class="line"><a name="l01016"></a><span class="lineno"> 1016</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#l00337">Error.h:337</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a3161c2c93c655dd30953372064ec627b"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a3161c2c93c655dd30953372064ec627b">arm_compute::test::validation::alpha</a></div><div class="ttdeci">const float alpha</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_accumulate_8cpp_source.xhtml#l00103">Accumulate.cpp:103</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a5002bf7ec46d52971f9526e94172cfee"><div class="ttname"><a href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">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#l00122">Helpers.inl:122</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_ac4a1050be02b20b3f791b9a483f3abe2"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#ac4a1050be02b20b3f791b9a483f3abe2">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="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_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">GEMM.cpp:87</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_n_e_o_n_2_accumulate_8cpp_source.xhtml#l00103">arm_compute::test::validation::alpha</a>, <a class="el" href="_error_8h_source.xhtml#l00337">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#l00122">execute_window_loop()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">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#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
+
</div>
</div>
<a id="a14fd899b732509e245976b9967b8931d"></a>
@@ -9168,23 +9957,18 @@
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input RGB data buffer. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output NV12 buffer. </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> for iterating the buffers. </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> for iterating the buffers. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00939">939</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
-
-<p class="reference">References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">arm_compute::test::validation::alpha</a>, <a class="el" href="_error_8h_source.xhtml#l00337">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#l00122">execute_window_loop()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00265">arm_compute::test::validation::in</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">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#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
-<div class="fragment"><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>  <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="l00942"></a><span class="lineno"> 942</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="l00943"></a><span class="lineno"> 943</span>  win.validate();</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>  <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="l00946"></a><span class="lineno"> 946</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="l00947"></a><span class="lineno"> 947</span> </div><div class="line"><a name="l00948"></a><span class="lineno"> 948</span>  <span class="comment">// UV's width and height are subsampled</span></div><div class="line"><a name="l00949"></a><span class="lineno"> 949</span>  Window win_uv(win);</div><div class="line"><a name="l00950"></a><span class="lineno"> 950</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="l00951"></a><span class="lineno"> 951</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="l00952"></a><span class="lineno"> 952</span>  win_uv.validate();</div><div class="line"><a name="l00953"></a><span class="lineno"> 953</span> </div><div class="line"><a name="l00954"></a><span class="lineno"> 954</span>  Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>(input_ptr, win);</div><div class="line"><a name="l00955"></a><span class="lineno"> 955</span>  Iterator out_y(output_ptr->plane(0), win);</div><div class="line"><a name="l00956"></a><span class="lineno"> 956</span>  Iterator out_uv(output_ptr->plane(1), win_uv);</div><div class="line"><a name="l00957"></a><span class="lineno"> 957</span> </div><div class="line"><a name="l00958"></a><span class="lineno"> 958</span>  <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</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>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_top = load_rgb(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00961"></a><span class="lineno"> 961</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_bottom = load_rgb(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr() + input_ptr-><a class="code" href="classarm__compute_1_1_c_l_tensor.xhtml#ad45f0c01a0713dfb6bd7232c7f396fc4">info</a>()-><a class="code" href="classarm__compute_1_1_tensor_info.xhtml#a5f1ca9d674346287cae57a6c5b5c24ec">strides_in_bytes</a>().<a class="code" href="classarm__compute_1_1_dimensions.xhtml#ac4a1050be02b20b3f791b9a483f3abe2">y</a>(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00962"></a><span class="lineno"> 962</span>  <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div><div class="line"><a name="l00963"></a><span class="lineno"> 963</span>  <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>  <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></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>  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="l00967"></a><span class="lineno"> 967</span>  ta_rgb_bottom.val[0], ta_rgb_bottom.val[1], ta_rgb_bottom.val[2],</div><div class="line"><a name="l00968"></a><span class="lineno"> 968</span>  out_y.ptr(), out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(),</div><div class="line"><a name="l00969"></a><span class="lineno"> 969</span>  out_uv.ptr());</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>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>, out_y, out_uv);</div><div class="line"><a name="l00972"></a><span class="lineno"> 972</span> }</div><div class="ttc" id="classarm__compute_1_1_c_l_tensor_xhtml_ad45f0c01a0713dfb6bd7232c7f396fc4"><div class="ttname"><a href="classarm__compute_1_1_c_l_tensor.xhtml#ad45f0c01a0713dfb6bd7232c7f396fc4">arm_compute::CLTensor::info</a></div><div class="ttdeci">TensorInfo * info() const override</div><div class="ttdoc">Interface to be implemented by the child class to return the tensor&#39;s metadata. </div><div class="ttdef"><b>Definition:</b> <a href="_c_l_tensor_8cpp_source.xhtml#l00035">CLTensor.cpp:35</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad366eaa4cf2d106037d91c30795a5c76"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">arm_compute::test::validation::in</a></div><div class="ttdeci">CLTensor in</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00265">Winograd.cpp:265</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#l00337">Error.h:337</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_tensor_info_xhtml_a5f1ca9d674346287cae57a6c5b5c24ec"><div class="ttname"><a href="classarm__compute_1_1_tensor_info.xhtml#a5f1ca9d674346287cae57a6c5b5c24ec">arm_compute::TensorInfo::strides_in_bytes</a></div><div class="ttdeci">const Strides & strides_in_bytes() const override</div><div class="ttdoc">The strides in bytes for accessing each dimension of the tensor. </div><div class="ttdef"><b>Definition:</b> <a href="_tensor_info_8h_source.xhtml#l00231">TensorInfo.h:231</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="ttdoc">Interface for CPP Images. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00037">CPPCornerCandidatesKernel.h:37</a></div></div>
+<div class="fragment"><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>  <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="l00942"></a><span class="lineno"> 942</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="l00943"></a><span class="lineno"> 943</span>  win.validate();</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>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = static_cast<const IImage *__restrict>(input);</div><div class="line"><a name="l00946"></a><span class="lineno"> 946</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = static_cast<IMultiImage *__restrict>(output);</div><div class="line"><a name="l00947"></a><span class="lineno"> 947</span> </div><div class="line"><a name="l00948"></a><span class="lineno"> 948</span>  <span class="comment">// UV's width and height are subsampled</span></div><div class="line"><a name="l00949"></a><span class="lineno"> 949</span>  Window win_uv(win);</div><div class="line"><a name="l00950"></a><span class="lineno"> 950</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="l00951"></a><span class="lineno"> 951</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="l00952"></a><span class="lineno"> 952</span>  win_uv.validate();</div><div class="line"><a name="l00953"></a><span class="lineno"> 953</span> </div><div class="line"><a name="l00954"></a><span class="lineno"> 954</span>  Iterator in(input_ptr, win);</div><div class="line"><a name="l00955"></a><span class="lineno"> 955</span>  Iterator out_y(output_ptr->plane(0), win);</div><div class="line"><a name="l00956"></a><span class="lineno"> 956</span>  Iterator out_uv(output_ptr->plane(1), win_uv);</div><div class="line"><a name="l00957"></a><span class="lineno"> 957</span> </div><div class="line"><a name="l00958"></a><span class="lineno"> 958</span>  <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</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>  <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#a3161c2c93c655dd30953372064ec627b">alpha</a>);</div><div class="line"><a name="l00961"></a><span class="lineno"> 961</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#a3161c2c93c655dd30953372064ec627b">alpha</a>);</div><div class="line"><a name="l00962"></a><span class="lineno"> 962</span>  <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div><div class="line"><a name="l00963"></a><span class="lineno"> 963</span>  <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>  <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></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>  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="l00967"></a><span class="lineno"> 967</span>  ta_rgb_bottom.val[0], ta_rgb_bottom.val[1], ta_rgb_bottom.val[2],</div><div class="line"><a name="l00968"></a><span class="lineno"> 968</span>  out_y.ptr(), out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(),</div><div class="line"><a name="l00969"></a><span class="lineno"> 969</span>  out_uv.ptr());</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>  in, out_y, out_uv);</div><div class="line"><a name="l00972"></a><span class="lineno"> 972</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#l00337">Error.h:337</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a3161c2c93c655dd30953372064ec627b"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a3161c2c93c655dd30953372064ec627b">arm_compute::test::validation::alpha</a></div><div class="ttdeci">const float alpha</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_accumulate_8cpp_source.xhtml#l00103">Accumulate.cpp:103</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a5002bf7ec46d52971f9526e94172cfee"><div class="ttname"><a href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">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#l00122">Helpers.inl:122</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_ac4a1050be02b20b3f791b9a483f3abe2"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#ac4a1050be02b20b3f791b9a483f3abe2">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="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_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">GEMM.cpp:87</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_n_e_o_n_2_accumulate_8cpp_source.xhtml#l00103">arm_compute::test::validation::alpha</a>, <a class="el" href="_error_8h_source.xhtml#l00337">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#l00122">execute_window_loop()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">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#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
+
</div>
</div>
<a id="a93cc303c8ae098d264f07d37890412de"></a>
@@ -9224,22 +10008,19 @@
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input RGB data buffer. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output RGBX buffer. </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> for iterating the buffers. </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> for iterating the buffers. </td></tr>
</table>
</dd>
</dl>
<p class="definition">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 class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00265">arm_compute::test::validation::in</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00266">arm_compute::test::validation::out</a>, and <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_n_e_color_convert_kernel_8cpp_source.xhtml#l00045">NEColorConvertKernel::configure()</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>  Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>(input_ptr, win);</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>(output_ptr, win);</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>  <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</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>  <span class="keyword">const</span> <span class="keyword">auto</span> ta1 = vld3q_u8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr());</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  uint8x16x4_t ta2;</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  ta2.val[0] = ta1.val[0];</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  ta2.val[1] = ta1.val[1];</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  ta2.val[2] = ta1.val[2];</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  ta2.val[3] = vdupq_n_u8(255);</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  vst4q_u8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr(), ta2);</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>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>);</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad366eaa4cf2d106037d91c30795a5c76"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">arm_compute::test::validation::in</a></div><div class="ttdeci">CLTensor in</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00265">Winograd.cpp:265</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#l00337">Error.h:337</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_af8a8a0625e7981212a0af48deb9d2a09"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">arm_compute::test::validation::out</a></div><div class="ttdeci">CLTensor out</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00266">Winograd.cpp:266</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="ttdoc">Interface for CPP Images. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00037">CPPCornerCandidatesKernel.h:37</a></div></div>
+<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 = static_cast<const IImage *__restrict>(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 = static_cast<IImage *__restrict>(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>  Iterator in(input_ptr, win);</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  Iterator out(output_ptr, win);</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>  <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</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>  <span class="keyword">const</span> <span class="keyword">auto</span> ta1 = vld3q_u8(in.ptr());</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  uint8x16x4_t ta2;</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  ta2.val[0] = ta1.val[0];</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  ta2.val[1] = ta1.val[1];</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  ta2.val[2] = ta1.val[2];</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  ta2.val[3] = vdupq_n_u8(255);</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  vst4q_u8(out.ptr(), ta2);</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>  in, out);</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</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#l00337">Error.h:337</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a5002bf7ec46d52971f9526e94172cfee"><div class="ttname"><a href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">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#l00122">Helpers.inl:122</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, and <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_n_e_color_convert_kernel_8cpp_source.xhtml#l00045">NEColorConvertKernel::configure()</a>.</p>
+
</div>
</div>
<a id="aa1d4cf707dec05e3ff1d63d4ce8065ca"></a>
@@ -9279,22 +10060,19 @@
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input RGB data buffer. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output U8 buffer. </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> for iterating the buffers. </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> for iterating the buffers. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00382">382</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00265">arm_compute::test::validation::in</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00266">arm_compute::test::validation::out</a>, and <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_n_e_color_convert_kernel_8cpp_source.xhtml#l00045">NEColorConvertKernel::configure()</a>.</p>
-<div class="fragment"><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>  <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="l00385"></a><span class="lineno"> 385</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="l00386"></a><span class="lineno"> 386</span> </div><div class="line"><a name="l00387"></a><span class="lineno"> 387</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="l00388"></a><span class="lineno"> 388</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="l00389"></a><span class="lineno"> 389</span> </div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>(input_ptr, win);</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>(output_ptr, win);</div><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#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</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="keyword">const</span> <span class="keyword">auto</span> ta1 = vld3q_u8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr());</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  uint8x16_t ta2;</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  rgb_to_u8_conversion(ta1, ta2);</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  vst1q_u8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr(), ta2);</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="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>);</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad366eaa4cf2d106037d91c30795a5c76"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">arm_compute::test::validation::in</a></div><div class="ttdeci">CLTensor in</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00265">Winograd.cpp:265</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#l00337">Error.h:337</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_af8a8a0625e7981212a0af48deb9d2a09"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">arm_compute::test::validation::out</a></div><div class="ttdeci">CLTensor out</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00266">Winograd.cpp:266</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="ttdoc">Interface for CPP Images. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00037">CPPCornerCandidatesKernel.h:37</a></div></div>
+<div class="fragment"><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>  <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="l00385"></a><span class="lineno"> 385</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="l00386"></a><span class="lineno"> 386</span> </div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = static_cast<const IImage *__restrict>(input);</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = static_cast<IImage *__restrict>(output);</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>  Iterator in(input_ptr, win);</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  Iterator out(output_ptr, win);</div><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#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</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="keyword">const</span> <span class="keyword">auto</span> ta1 = vld3q_u8(in.ptr());</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  uint8x16_t ta2;</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  rgb_to_u8_conversion(ta1, ta2);</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  vst1q_u8(out.ptr(), ta2);</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>  in, out);</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</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#l00337">Error.h:337</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a5002bf7ec46d52971f9526e94172cfee"><div class="ttname"><a href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">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#l00122">Helpers.inl:122</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, and <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_n_e_color_convert_kernel_8cpp_source.xhtml#l00045">NEColorConvertKernel::configure()</a>.</p>
+
</div>
</div>
<a id="ad304c0b0a72ed3f65c24fa69ab3cd53e"></a>
@@ -9334,20 +10112,18 @@
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input RGB data buffer. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output YUV4 buffer. </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> for iterating the buffers. </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> for iterating the buffers. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l01026">1026</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
-
-<p class="reference">References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">arm_compute::test::validation::alpha</a>, <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00265">arm_compute::test::validation::in</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>, and <a class="el" href="_window_8inl_source.xhtml#l00152">Window::validate()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> {</div><div class="line"><a name="l01028"></a><span class="lineno"> 1028</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="l01029"></a><span class="lineno"> 1029</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="l01030"></a><span class="lineno"> 1030</span>  win.validate();</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>  <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="l01033"></a><span class="lineno"> 1033</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="l01034"></a><span class="lineno"> 1034</span> </div><div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>  Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>(input_ptr, win);</div><div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>  Iterator out_y(output_ptr->plane(0), win);</div><div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>  Iterator out_u(output_ptr->plane(1), win);</div><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>  Iterator out_v(output_ptr->plane(2), win);</div><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> </div><div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>  <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</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>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb = load_rgb(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>  <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>  <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>  <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> </div><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>  store_rgb_to_yuv4(ta_rgb.val[0], ta_rgb.val[1], ta_rgb.val[2],</div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>  out_y.ptr(), out_u.ptr(), out_v.ptr());</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>  },</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>, out_y, out_u, out_v);</div><div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad366eaa4cf2d106037d91c30795a5c76"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">arm_compute::test::validation::in</a></div><div class="ttdeci">CLTensor in</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00265">Winograd.cpp:265</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#l00337">Error.h:337</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="ttdoc">Interface for CPP Images. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00037">CPPCornerCandidatesKernel.h:37</a></div></div>
+<div class="fragment"><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> {</div><div class="line"><a name="l01028"></a><span class="lineno"> 1028</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="l01029"></a><span class="lineno"> 1029</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="l01030"></a><span class="lineno"> 1030</span>  win.validate();</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>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = static_cast<const IImage *__restrict>(input);</div><div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = static_cast<IMultiImage *__restrict>(output);</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>  Iterator in(input_ptr, win);</div><div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>  Iterator out_y(output_ptr->plane(0), win);</div><div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>  Iterator out_u(output_ptr->plane(1), win);</div><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>  Iterator out_v(output_ptr->plane(2), win);</div><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> </div><div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>  <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</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>  <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#a3161c2c93c655dd30953372064ec627b">alpha</a>);</div><div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>  <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>  <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>  <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> </div><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>  store_rgb_to_yuv4(ta_rgb.val[0], ta_rgb.val[1], ta_rgb.val[2],</div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>  out_y.ptr(), out_u.ptr(), out_v.ptr());</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>  },</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>  in, out_y, out_u, out_v);</div><div class="line"><a name="l01051"></a><span class="lineno"> 1051</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#l00337">Error.h:337</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a3161c2c93c655dd30953372064ec627b"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a3161c2c93c655dd30953372064ec627b">arm_compute::test::validation::alpha</a></div><div class="ttdeci">const float alpha</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_accumulate_8cpp_source.xhtml#l00103">Accumulate.cpp:103</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a5002bf7ec46d52971f9526e94172cfee"><div class="ttname"><a href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">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#l00122">Helpers.inl:122</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_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">GEMM.cpp:87</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_n_e_o_n_2_accumulate_8cpp_source.xhtml#l00103">arm_compute::test::validation::alpha</a>, <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>, and <a class="el" href="_window_8inl_source.xhtml#l00152">Window::validate()</a>.</p>
+
</div>
</div>
<a id="acf7451c0d0f8a4b1cfbb60d7531a43aa"></a>
@@ -9387,22 +10163,19 @@
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input RGBX data buffer. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output RGB buffer. </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> for iterating the buffers. </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> for iterating the buffers. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00410">410</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00265">arm_compute::test::validation::in</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00266">arm_compute::test::validation::out</a>, and <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_n_e_color_convert_kernel_8cpp_source.xhtml#l00045">NEColorConvertKernel::configure()</a>.</p>
-<div class="fragment"><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="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</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="l00414"></a><span class="lineno"> 414</span> </div><div class="line"><a name="l00415"></a><span class="lineno"> 415</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="l00416"></a><span class="lineno"> 416</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="l00417"></a><span class="lineno"> 417</span> </div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>(input_ptr, win);</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>(output_ptr, win);</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>  <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</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>  <span class="keyword">const</span> <span class="keyword">auto</span> ta1 = vld4q_u8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr());</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  uint8x16x3_t ta2;</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  ta2.val[0] = ta1.val[0];</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  ta2.val[1] = ta1.val[1];</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  ta2.val[2] = ta1.val[2];</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  vst3q_u8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr(), ta2);</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>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>);</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad366eaa4cf2d106037d91c30795a5c76"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">arm_compute::test::validation::in</a></div><div class="ttdeci">CLTensor in</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00265">Winograd.cpp:265</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#l00337">Error.h:337</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_af8a8a0625e7981212a0af48deb9d2a09"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">arm_compute::test::validation::out</a></div><div class="ttdeci">CLTensor out</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00266">Winograd.cpp:266</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="ttdoc">Interface for CPP Images. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00037">CPPCornerCandidatesKernel.h:37</a></div></div>
+<div class="fragment"><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="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</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="l00414"></a><span class="lineno"> 414</span> </div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = static_cast<const IImage *__restrict>(input);</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = static_cast<IImage *__restrict>(output);</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>  Iterator in(input_ptr, win);</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  Iterator out(output_ptr, win);</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>  <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</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>  <span class="keyword">const</span> <span class="keyword">auto</span> ta1 = vld4q_u8(in.ptr());</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  uint8x16x3_t ta2;</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  ta2.val[0] = ta1.val[0];</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  ta2.val[1] = ta1.val[1];</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  ta2.val[2] = ta1.val[2];</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  vst3q_u8(out.ptr(), ta2);</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>  in, out);</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</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#l00337">Error.h:337</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a5002bf7ec46d52971f9526e94172cfee"><div class="ttname"><a href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">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#l00122">Helpers.inl:122</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, and <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_n_e_color_convert_kernel_8cpp_source.xhtml#l00045">NEColorConvertKernel::configure()</a>.</p>
+
</div>
</div>
<a id="ae43e8f0463c0289169025c3041688d36"></a>
@@ -9442,22 +10215,18 @@
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input YUYV data buffer. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output IYUV buffer. </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> for iterating the buffers. </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> for iterating the buffers. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00762">762</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">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#l00122">execute_window_loop()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00265">arm_compute::test::validation::in</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">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#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00763"></a><span class="lineno"> 763</span> {</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</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="l00765"></a><span class="lineno"> 765</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="l00766"></a><span class="lineno"> 766</span>  win.validate();</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span> </div><div class="line"><a name="l00768"></a><span class="lineno"> 768</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="l00769"></a><span class="lineno"> 769</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="l00770"></a><span class="lineno"> 770</span> </div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>  constexpr <span class="keyword">auto</span> shift = yuyv ? 0 : 1;</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>  <span class="comment">// Destination's UV's width and height are subsampled</span></div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  Window win_uv(win);</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</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="l00776"></a><span class="lineno"> 776</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="l00777"></a><span class="lineno"> 777</span>  win_uv.validate();</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>  Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>(input_ptr, win);</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>  Iterator out_y(output_ptr->plane(0), win);</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>  Iterator out_u(output_ptr->plane(1), win_uv);</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>  Iterator out_v(output_ptr->plane(2), win_uv);</div><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>  <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</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="keyword">const</span> <span class="keyword">auto</span> ta_top = vld4q_u8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr());</div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_bottom = vld4q_u8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr() + input_ptr-><a class="code" href="classarm__compute_1_1_c_l_tensor.xhtml#ad45f0c01a0713dfb6bd7232c7f396fc4">info</a>()-><a class="code" href="classarm__compute_1_1_tensor_info.xhtml#a5f1ca9d674346287cae57a6c5b5c24ec">strides_in_bytes</a>().<a class="code" href="classarm__compute_1_1_dimensions.xhtml#ac4a1050be02b20b3f791b9a483f3abe2">y</a>());</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>  <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>  <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>  <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span> </div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>  uint8x16x2_t yvec;</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>  yvec.val[0] = ta_top.val[0 + shift];</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>  yvec.val[1] = ta_top.val[2 + shift];</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>  vst2q_u8(out_y.ptr(), yvec);</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>  uint8x16x2_t yyvec;</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>  yyvec.val[0] = ta_bottom.val[0 + shift];</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>  yyvec.val[1] = ta_bottom.val[2 + shift];</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>  vst2q_u8(out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(), yyvec);</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span> </div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>  uint8x16_t uvec;</div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span>  uvec = vhaddq_u8(ta_top.val[1 - shift], ta_bottom.val[1 - shift]);</div><div class="line"><a name="l00805"></a><span class="lineno"> 805</span>  vst1q_u8(out_u.ptr(), uvec);</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>  uint8x16_t vvec;</div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>  vvec = vhaddq_u8(ta_top.val[3 - shift], ta_bottom.val[3 - shift]);</div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>  vst1q_u8(out_v.ptr(), vvec);</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>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>, out_y, out_u, out_v);</div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span> }</div><div class="ttc" id="classarm__compute_1_1_c_l_tensor_xhtml_ad45f0c01a0713dfb6bd7232c7f396fc4"><div class="ttname"><a href="classarm__compute_1_1_c_l_tensor.xhtml#ad45f0c01a0713dfb6bd7232c7f396fc4">arm_compute::CLTensor::info</a></div><div class="ttdeci">TensorInfo * info() const override</div><div class="ttdoc">Interface to be implemented by the child class to return the tensor&#39;s metadata. </div><div class="ttdef"><b>Definition:</b> <a href="_c_l_tensor_8cpp_source.xhtml#l00035">CLTensor.cpp:35</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad366eaa4cf2d106037d91c30795a5c76"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">arm_compute::test::validation::in</a></div><div class="ttdeci">CLTensor in</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00265">Winograd.cpp:265</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#l00337">Error.h:337</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_tensor_info_xhtml_a5f1ca9d674346287cae57a6c5b5c24ec"><div class="ttname"><a href="classarm__compute_1_1_tensor_info.xhtml#a5f1ca9d674346287cae57a6c5b5c24ec">arm_compute::TensorInfo::strides_in_bytes</a></div><div class="ttdeci">const Strides & strides_in_bytes() const override</div><div class="ttdoc">The strides in bytes for accessing each dimension of the tensor. </div><div class="ttdef"><b>Definition:</b> <a href="_tensor_info_8h_source.xhtml#l00231">TensorInfo.h:231</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="ttdoc">Interface for CPP Images. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00037">CPPCornerCandidatesKernel.h:37</a></div></div>
+<div class="fragment"><div class="line"><a name="l00763"></a><span class="lineno"> 763</span> {</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</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="l00765"></a><span class="lineno"> 765</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="l00766"></a><span class="lineno"> 766</span>  win.validate();</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span> </div><div class="line"><a name="l00768"></a><span class="lineno"> 768</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = static_cast<const IImage *__restrict>(input);</div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = static_cast<IMultiImage *__restrict>(output);</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span> </div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>  constexpr <span class="keyword">auto</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">shift</a> = yuyv ? 0 : 1;</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>  <span class="comment">// Destination's UV's width and height are subsampled</span></div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  Window win_uv(win);</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</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="l00776"></a><span class="lineno"> 776</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="l00777"></a><span class="lineno"> 777</span>  win_uv.validate();</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>  Iterator in(input_ptr, win);</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>  Iterator out_y(output_ptr->plane(0), win);</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>  Iterator out_u(output_ptr->plane(1), win_uv);</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>  Iterator out_v(output_ptr->plane(2), win_uv);</div><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>  <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</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="keyword">const</span> <span class="keyword">auto</span> ta_top = vld4q_u8(in.ptr());</div><div class="line"><a name="l00787"></a><span class="lineno"> 787</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="l00788"></a><span class="lineno"> 788</span>  <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>  <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>  <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span> </div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>  uint8x16x2_t yvec;</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>  yvec.val[0] = ta_top.val[0 + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">shift</a>];</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>  yvec.val[1] = ta_top.val[2 + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">shift</a>];</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>  vst2q_u8(out_y.ptr(), yvec);</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>  uint8x16x2_t yyvec;</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>  yyvec.val[0] = ta_bottom.val[0 + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">shift</a>];</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>  yyvec.val[1] = ta_bottom.val[2 + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">shift</a>];</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>  vst2q_u8(out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(), yyvec);</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span> </div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>  uint8x16_t uvec;</div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span>  uvec = vhaddq_u8(ta_top.val[1 - <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">shift</a>], ta_bottom.val[1 - <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">shift</a>]);</div><div class="line"><a name="l00805"></a><span class="lineno"> 805</span>  vst1q_u8(out_u.ptr(), uvec);</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>  uint8x16_t vvec;</div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>  vvec = vhaddq_u8(ta_top.val[3 - <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">shift</a>], ta_bottom.val[3 - <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">shift</a>]);</div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>  vst1q_u8(out_v.ptr(), vvec);</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>  in, out_y, out_u, out_v);</div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a979a54caef6e77ce0259e427136847e8"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">arm_compute::test::validation::shift</a></div><div class="ttdeci">shift</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_depth_convert_layer_8cpp_source.xhtml#l00155">DepthConvertLayer.cpp:155</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#l00337">Error.h:337</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a5002bf7ec46d52971f9526e94172cfee"><div class="ttname"><a href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">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#l00122">Helpers.inl:122</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_ac4a1050be02b20b3f791b9a483f3abe2"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#ac4a1050be02b20b3f791b9a483f3abe2">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><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">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#l00122">execute_window_loop()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, <a class="el" href="_c_l_2_depth_convert_layer_8cpp_source.xhtml#l00155">arm_compute::test::validation::shift</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#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
+
</div>
</div>
<a id="a8ee13904a3f5ba84b28cb53d956021d7"></a>
@@ -9497,22 +10266,18 @@
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input YUYV data buffer. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output NV12 buffer. </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> for iterating the buffers. </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> for iterating the buffers. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00610">610</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">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#l00122">execute_window_loop()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00265">arm_compute::test::validation::in</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">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#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00611"></a><span class="lineno"> 611</span> {</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</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="l00613"></a><span class="lineno"> 613</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="l00614"></a><span class="lineno"> 614</span>  win.validate();</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> 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="l00617"></a><span class="lineno"> 617</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="l00618"></a><span class="lineno"> 618</span> </div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>  constexpr <span class="keyword">auto</span> shift = yuyv ? 0 : 1;</div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span> </div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>  <span class="comment">// NV12's UV's width and height are subsampled</span></div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>  Window win_uv(win);</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</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="l00624"></a><span class="lineno"> 624</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="l00625"></a><span class="lineno"> 625</span>  win_uv.validate();</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span> </div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>  Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>(input_ptr, win);</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>  Iterator out_y(output_ptr->plane(0), win);</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>  Iterator out_uv(output_ptr->plane(1), win_uv);</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#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</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="keyword">const</span> <span class="keyword">auto</span> ta_top = vld4q_u8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr());</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_bottom = vld4q_u8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr() + input_ptr-><a class="code" href="classarm__compute_1_1_c_l_tensor.xhtml#ad45f0c01a0713dfb6bd7232c7f396fc4">info</a>()-><a class="code" href="classarm__compute_1_1_tensor_info.xhtml#a5f1ca9d674346287cae57a6c5b5c24ec">strides_in_bytes</a>().<a class="code" href="classarm__compute_1_1_dimensions.xhtml#ac4a1050be02b20b3f791b9a483f3abe2">y</a>());</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>  <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>  <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>  <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>  <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></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>  uint8x16x2_t yvec;</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>  yvec.val[0] = ta_top.val[0 + shift];</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>  yvec.val[1] = ta_top.val[2 + shift];</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>  vst2q_u8(out_y.ptr(), yvec);</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span> </div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>  uint8x16x2_t yyvec;</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>  yyvec.val[0] = ta_bottom.val[0 + shift];</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>  yyvec.val[1] = ta_bottom.val[2 + shift];</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>  vst2q_u8(out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(), yyvec);</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>  uint8x16x2_t uvvec;</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>  uvvec.val[0] = vhaddq_u8(ta_top.val[1 - shift], ta_bottom.val[1 - shift]);</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>  uvvec.val[1] = vhaddq_u8(ta_top.val[3 - shift], ta_bottom.val[3 - shift]);</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>  vst2q_u8(out_uv.ptr(), uvvec);</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_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>, out_y, out_uv);</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span> }</div><div class="ttc" id="classarm__compute_1_1_c_l_tensor_xhtml_ad45f0c01a0713dfb6bd7232c7f396fc4"><div class="ttname"><a href="classarm__compute_1_1_c_l_tensor.xhtml#ad45f0c01a0713dfb6bd7232c7f396fc4">arm_compute::CLTensor::info</a></div><div class="ttdeci">TensorInfo * info() const override</div><div class="ttdoc">Interface to be implemented by the child class to return the tensor&#39;s metadata. </div><div class="ttdef"><b>Definition:</b> <a href="_c_l_tensor_8cpp_source.xhtml#l00035">CLTensor.cpp:35</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad366eaa4cf2d106037d91c30795a5c76"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">arm_compute::test::validation::in</a></div><div class="ttdeci">CLTensor in</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00265">Winograd.cpp:265</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#l00337">Error.h:337</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_tensor_info_xhtml_a5f1ca9d674346287cae57a6c5b5c24ec"><div class="ttname"><a href="classarm__compute_1_1_tensor_info.xhtml#a5f1ca9d674346287cae57a6c5b5c24ec">arm_compute::TensorInfo::strides_in_bytes</a></div><div class="ttdeci">const Strides & strides_in_bytes() const override</div><div class="ttdoc">The strides in bytes for accessing each dimension of the tensor. </div><div class="ttdef"><b>Definition:</b> <a href="_tensor_info_8h_source.xhtml#l00231">TensorInfo.h:231</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="ttdoc">Interface for CPP Images. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00037">CPPCornerCandidatesKernel.h:37</a></div></div>
+<div class="fragment"><div class="line"><a name="l00611"></a><span class="lineno"> 611</span> {</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</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="l00613"></a><span class="lineno"> 613</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="l00614"></a><span class="lineno"> 614</span>  win.validate();</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> input_ptr = static_cast<const IImage *__restrict>(input);</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = static_cast<IMultiImage *__restrict>(output);</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>  constexpr <span class="keyword">auto</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">shift</a> = yuyv ? 0 : 1;</div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span> </div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>  <span class="comment">// NV12's UV's width and height are subsampled</span></div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>  Window win_uv(win);</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</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="l00624"></a><span class="lineno"> 624</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="l00625"></a><span class="lineno"> 625</span>  win_uv.validate();</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span> </div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>  Iterator in(input_ptr, win);</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>  Iterator out_y(output_ptr->plane(0), win);</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>  Iterator out_uv(output_ptr->plane(1), win_uv);</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#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</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="keyword">const</span> <span class="keyword">auto</span> ta_top = vld4q_u8(in.ptr());</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</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="l00635"></a><span class="lineno"> 635</span>  <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>  <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>  <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>  <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></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>  uint8x16x2_t yvec;</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>  yvec.val[0] = ta_top.val[0 + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">shift</a>];</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>  yvec.val[1] = ta_top.val[2 + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">shift</a>];</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>  vst2q_u8(out_y.ptr(), yvec);</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span> </div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>  uint8x16x2_t yyvec;</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>  yyvec.val[0] = ta_bottom.val[0 + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">shift</a>];</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>  yyvec.val[1] = ta_bottom.val[2 + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">shift</a>];</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>  vst2q_u8(out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(), yyvec);</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>  uint8x16x2_t uvvec;</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>  uvvec.val[0] = vhaddq_u8(ta_top.val[1 - <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">shift</a>], ta_bottom.val[1 - <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">shift</a>]);</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>  uvvec.val[1] = vhaddq_u8(ta_top.val[3 - <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">shift</a>], ta_bottom.val[3 - <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">shift</a>]);</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>  vst2q_u8(out_uv.ptr(), uvvec);</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>  in, out_y, out_uv);</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a979a54caef6e77ce0259e427136847e8"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">arm_compute::test::validation::shift</a></div><div class="ttdeci">shift</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_depth_convert_layer_8cpp_source.xhtml#l00155">DepthConvertLayer.cpp:155</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#l00337">Error.h:337</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a5002bf7ec46d52971f9526e94172cfee"><div class="ttname"><a href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">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#l00122">Helpers.inl:122</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_ac4a1050be02b20b3f791b9a483f3abe2"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#ac4a1050be02b20b3f791b9a483f3abe2">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><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">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#l00122">execute_window_loop()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, <a class="el" href="_c_l_2_depth_convert_layer_8cpp_source.xhtml#l00155">arm_compute::test::validation::shift</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#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
+
</div>
</div>
<a id="a3c22c0d3494660b72b4fc04fec76f92d"></a>
@@ -9552,22 +10317,20 @@
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input YUYV data buffer. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output RGB buffer. </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> for iterating the buffers. </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> for iterating the buffers. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00441">441</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
-
-<p class="reference">References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">arm_compute::test::validation::alpha</a>, <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00265">arm_compute::test::validation::in</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00266">arm_compute::test::validation::out</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>, and <a class="el" href="_color_convert_helper_8h_source.xhtml#l00159">arm_compute::test::colorconvert_helper::detail::yuyv_to_rgb_calculation()</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>  <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="l00444"></a><span class="lineno"> 444</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="l00445"></a><span class="lineno"> 445</span> </div><div class="line"><a name="l00446"></a><span class="lineno"> 446</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="l00447"></a><span class="lineno"> 447</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="l00448"></a><span class="lineno"> 448</span> </div><div class="line"><a name="l00449"></a><span class="lineno"> 449</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="l00450"></a><span class="lineno"> 450</span>  constexpr <span class="keyword">auto</span> shift = yuyv ? 0 : 1;</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>  Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>(input_ptr, win);</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>(output_ptr, win);</div><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="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</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> <span class="keyword">auto</span> ta = vld4q_u8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr());</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></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="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  <span class="keyword">const</span> float32x4x4_t yvec = convert_uint8x16_to_float32x4x4(ta.val[0 + shift]);</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  <span class="keyword">const</span> float32x4x4_t uvec = convert_uint8x16_to_float32x4x4(ta.val[1 - shift]);</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  <span class="keyword">const</span> float32x4x4_t yyvec = convert_uint8x16_to_float32x4x4(ta.val[2 + shift]);</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  <span class="keyword">const</span> float32x4x4_t vvec = convert_uint8x16_to_float32x4x4(ta.val[3 - shift]);</div><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>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec.val[0], uvec.val[0], yyvec.val[0], vvec.val[0], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + 0 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec.val[1], uvec.val[1], yyvec.val[1], vvec.val[1], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + 1 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec.val[2], uvec.val[2], yyvec.val[2], vvec.val[2], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + 2 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec.val[3], uvec.val[3], yyvec.val[3], vvec.val[3], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + 3 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</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>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>);</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad366eaa4cf2d106037d91c30795a5c76"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">arm_compute::test::validation::in</a></div><div class="ttdeci">CLTensor in</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00265">Winograd.cpp:265</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#l00337">Error.h:337</a></div></div>
+<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>  <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="l00444"></a><span class="lineno"> 444</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="l00445"></a><span class="lineno"> 445</span> </div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = static_cast<const IImage *__restrict>(input);</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = static_cast<IImage *__restrict>(output);</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span> </div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  constexpr <span class="keyword">auto</span> element_size = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a3161c2c93c655dd30953372064ec627b">alpha</a> ? 32 : 24;</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  constexpr <span class="keyword">auto</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">shift</a> = yuyv ? 0 : 1;</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>  Iterator in(input_ptr, win);</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  Iterator out(output_ptr, win);</div><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="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</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> <span class="keyword">auto</span> ta = vld4q_u8(in.ptr());</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></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="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  <span class="keyword">const</span> float32x4x4_t yvec = convert_uint8x16_to_float32x4x4(ta.val[0 + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">shift</a>]);</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  <span class="keyword">const</span> float32x4x4_t uvec = convert_uint8x16_to_float32x4x4(ta.val[1 - <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">shift</a>]);</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  <span class="keyword">const</span> float32x4x4_t yyvec = convert_uint8x16_to_float32x4x4(ta.val[2 + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">shift</a>]);</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  <span class="keyword">const</span> float32x4x4_t vvec = convert_uint8x16_to_float32x4x4(ta.val[3 - <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">shift</a>]);</div><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>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(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#a3161c2c93c655dd30953372064ec627b">alpha</a>);</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(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#a3161c2c93c655dd30953372064ec627b">alpha</a>);</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(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#a3161c2c93c655dd30953372064ec627b">alpha</a>);</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(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#a3161c2c93c655dd30953372064ec627b">alpha</a>);</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>  in, out);</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a979a54caef6e77ce0259e427136847e8"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a979a54caef6e77ce0259e427136847e8">arm_compute::test::validation::shift</a></div><div class="ttdeci">shift</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_depth_convert_layer_8cpp_source.xhtml#l00155">DepthConvertLayer.cpp:155</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#l00337">Error.h:337</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail_xhtml_a2a36a93e164b484404fe908cefd6099a"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">arm_compute::test::colorconvert_helper::detail::yuyv_to_rgb_calculation</a></div><div class="ttdeci">void yuyv_to_rgb_calculation(const SimpleTensor< T > yvec, const SimpleTensor< T > vvec, const SimpleTensor< T > yyvec, const SimpleTensor< T > uvec, SimpleTensor< T > &dst)</div><div class="ttdef"><b>Definition:</b> <a href="_color_convert_helper_8h_source.xhtml#l00159">ColorConvertHelper.h:159</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_af8a8a0625e7981212a0af48deb9d2a09"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">arm_compute::test::validation::out</a></div><div class="ttdeci">CLTensor out</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00266">Winograd.cpp:266</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="ttdoc">Interface for CPP Images. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00037">CPPCornerCandidatesKernel.h:37</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a3161c2c93c655dd30953372064ec627b"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a3161c2c93c655dd30953372064ec627b">arm_compute::test::validation::alpha</a></div><div class="ttdeci">const float alpha</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_accumulate_8cpp_source.xhtml#l00103">Accumulate.cpp:103</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a5002bf7ec46d52971f9526e94172cfee"><div class="ttname"><a href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">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#l00122">Helpers.inl:122</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_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">GEMM.cpp:87</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_n_e_o_n_2_accumulate_8cpp_source.xhtml#l00103">arm_compute::test::validation::alpha</a>, <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>, <a class="el" href="_c_l_2_depth_convert_layer_8cpp_source.xhtml#l00155">arm_compute::test::validation::shift</a>, and <a class="el" href="_color_convert_helper_8h_source.xhtml#l00159">arm_compute::test::colorconvert_helper::detail::yuyv_to_rgb_calculation()</a>.</p>
+
</div>
</div>
<a id="ac56739a30823647f7d86a0380a2ff62e"></a>
@@ -9613,22 +10376,22 @@
<p>Create a strides object based on the provided strides and the tensor dimensions. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> info object providing the shape of the tensor for unspecified strides. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface.">Tensor</a> info object providing the shape of the tensor for unspecified strides. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">stride_x</td><td>Stride to be used in X dimension (in bytes). </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">fixed_strides</td><td><a class="el" href="classarm__compute_1_1_strides.xhtml" title="Strides of an item in bytes. ">Strides</a> to be used in higher dimensions starting at Y (in bytes).</td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">fixed_strides</td><td><a class="el" href="classarm__compute_1_1_strides.xhtml" title="Strides of an item in bytes.">Strides</a> to be used in higher dimensions starting at Y (in bytes).</td></tr>
</table>
</dd>
</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>
+<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 class="definition">Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00501">501</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
-
-<p class="reference">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_arithmetic_division_8cpp_source.xhtml#l00096">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 class="reference">Referenced by <a class="el" href="src_2core_2_tensor_info_8cpp_source.xhtml#l00214">TensorInfo::auto_padding()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00523">compute_strides()</a>, and <a class="el" href="src_2core_2_tensor_info_8cpp_source.xhtml#l00342">TensorInfo::set_tensor_shape()</a>.</p>
-<div class="fragment"><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="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="l00504"></a><span class="lineno"> 504</span> </div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  <span class="comment">// Create strides object</span></div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  Strides strides(stride_x, fixed_strides...);</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">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="l00509"></a><span class="lineno"> 509</span>  {</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  strides.set(i, shape[i - 1] * strides[i - 1]);</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="keywordflow">return</span> strides;</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</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_arithmetic_division_8cpp_source.xhtml#l00096">ArithmeticDivision.cpp:96</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 class="definition">Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00535">535</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="l00536"></a><span class="lineno"> 536</span> {</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</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#a4f4125dba5283887b34f889b1c615c0c">info</a>.tensor_shape();</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>  <span class="comment">// Create strides object</span></div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>  Strides strides(stride_x, fixed_strides...);</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="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#a4f4125dba5283887b34f889b1c615c0c">info</a>.num_dimensions(); ++i)</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>  strides.set(i, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>[i - 1] * strides[i - 1]);</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> </div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>  <span class="keywordflow">return</span> strides;</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</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_absolute_difference_8cpp_source.xhtml#l00097">AbsoluteDifference.cpp:97</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a4f4125dba5283887b34f889b1c615c0c"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">arm_compute::test::validation::info</a></div><div class="ttdeci">info</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">ConvolutionLayer.cpp:174</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">arm_compute::test::validation::info</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00074">Dimensions< T >::set()</a>, and <a class="el" href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00097">arm_compute::test::validation::shape</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00557">compute_strides()</a>, and <a class="el" href="src_2core_2_tensor_info_8cpp_source.xhtml#l00342">TensorInfo::set_tensor_shape()</a>.</p>
+
</div>
</div>
<a id="a8c35748731709927597cb5a2c227e682"></a>
@@ -9658,18 +10421,18 @@
<p>Create a strides object based on the tensor dimensions. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> info object used to compute the strides.</td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface.">Tensor</a> info object used to compute the strides.</td></tr>
</table>
</dd>
</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>
+<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 class="definition">Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00523">523</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
-
-<p class="reference">References <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00501">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="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> <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="l00526"></a><span class="lineno"> 526</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#l00523">Helpers.h:523</a></div></div>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00557">557</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="l00558"></a><span class="lineno"> 558</span> {</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</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#a4f4125dba5283887b34f889b1c615c0c">info</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.element_size());</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span> }</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#l00557">Helpers.h:557</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a4f4125dba5283887b34f889b1c615c0c"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">arm_compute::test::validation::info</a></div><div class="ttdeci">info</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">ConvolutionLayer.cpp:174</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00535">compute_strides()</a>, and <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">arm_compute::test::validation::info</a>.</p>
+
</div>
</div>
<a id="a3b0c016b53e97663b39c2f3875f46c24"></a>
@@ -9723,7 +10486,7 @@
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">in_dims</td><td>Spatial dimensions of the input tensor of convolution layer </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">kernel_size</td><td><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> size </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">kernel_size</td><td><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class.">Kernel</a> size </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">output_tile_size</td><td>Size of a single output tile </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">conv_info</td><td>Convolution info (i.e. pad, stride,...)</td></tr>
</table>
@@ -9731,13 +10494,13 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>the number of output tiles along the x and y directions of size "output_tile_size" </dd></dl>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00701">701</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_size2_d_8h_source.xhtml#l00093">Size2D::height</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00774">PadStrideInfo::pad_bottom()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00759">PadStrideInfo::pad_left()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00764">PadStrideInfo::pad_right()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00769">PadStrideInfo::pad_top()</a>, and <a class="el" href="_size2_d_8h_source.xhtml#l00092">Size2D::width</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_shape_calculator_8h_source.xhtml#l00404">arm_compute::misc::shape_calculator::compute_winograd_input_transform_shape()</a>, <a class="el" href="_c_l_winograd_input_transform_kernel_8cpp_source.xhtml#l00111">CLWinogradInputTransformKernel::configure()</a>, <a class="el" href="_c_l_winograd_output_transform_kernel_8cpp_source.xhtml#l00136">CLWinogradOutputTransformKernel::configure()</a>, <a class="el" href="reference_2_winograd_8cpp_source.xhtml#l00233">arm_compute::test::validation::reference::winograd_input_transform()</a>, and <a class="el" href="reference_2_winograd_8cpp_source.xhtml#l00437">arm_compute::test::validation::reference::winograd_output_transform()</a>.</p>
-<div class="fragment"><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>  <span class="keywordtype">int</span> num_tiles_x = std::ceil((in_dims.width - (kernel_size.width - 1) + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acbf8f8a6dd185de04c1981c57a8963cf">conv_info</a>.pad_left() + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acbf8f8a6dd185de04c1981c57a8963cf">conv_info</a>.pad_right()) / static_cast<float>(output_tile_size.width));</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>  <span class="keywordtype">int</span> num_tiles_y = std::ceil((in_dims.height - (kernel_size.height - 1) + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acbf8f8a6dd185de04c1981c57a8963cf">conv_info</a>.pad_top() + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acbf8f8a6dd185de04c1981c57a8963cf">conv_info</a>.pad_bottom()) / static_cast<float>(output_tile_size.height));</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="comment">// Clamp in case we provide paddings but we have 1D convolution</span></div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>  num_tiles_x = std::min(num_tiles_x, static_cast<int>(in_dims.width));</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>  num_tiles_y = std::min(num_tiles_y, static_cast<int>(in_dims.height));</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> Size2D(num_tiles_x, num_tiles_y);</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_acbf8f8a6dd185de04c1981c57a8963cf"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#acbf8f8a6dd185de04c1981c57a8963cf">arm_compute::test::validation::conv_info</a></div><div class="ttdeci">conv_info</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00694">Winograd.cpp:694</a></div></div>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00735">735</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="l00736"></a><span class="lineno"> 736</span> {</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>  <span class="keywordtype">int</span> num_tiles_x = std::ceil((in_dims.width - (kernel_size.width - 1) + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acbf8f8a6dd185de04c1981c57a8963cf">conv_info</a>.pad_left() + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acbf8f8a6dd185de04c1981c57a8963cf">conv_info</a>.pad_right()) / static_cast<float>(output_tile_size.width));</div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>  <span class="keywordtype">int</span> num_tiles_y = std::ceil((in_dims.height - (kernel_size.height - 1) + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acbf8f8a6dd185de04c1981c57a8963cf">conv_info</a>.pad_top() + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acbf8f8a6dd185de04c1981c57a8963cf">conv_info</a>.pad_bottom()) / static_cast<float>(output_tile_size.height));</div><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>  <span class="comment">// Clamp in case we provide paddings but we have 1D convolution</span></div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>  num_tiles_x = std::min(num_tiles_x, static_cast<int>(in_dims.width));</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>  num_tiles_y = std::min(num_tiles_y, static_cast<int>(in_dims.height));</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span> </div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>  <span class="keywordflow">return</span> Size2D(num_tiles_x, num_tiles_y);</div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_acbf8f8a6dd185de04c1981c57a8963cf"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#acbf8f8a6dd185de04c1981c57a8963cf">arm_compute::test::validation::conv_info</a></div><div class="ttdeci">conv_info</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00571">Winograd.cpp:571</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00571">arm_compute::test::validation::conv_info</a>, <a class="el" href="_size2_d_8h_source.xhtml#l00093">Size2D::height</a>, and <a class="el" href="_size2_d_8h_source.xhtml#l00092">Size2D::width</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_shape_calculator_8h_source.xhtml#l00659">arm_compute::misc::shape_calculator::compute_winograd_input_transform_shape()</a>, <a class="el" href="_c_l_winograd_input_transform_kernel_8cpp_source.xhtml#l00111">CLWinogradInputTransformKernel::configure()</a>, <a class="el" href="_c_l_winograd_output_transform_kernel_8cpp_source.xhtml#l00146">CLWinogradOutputTransformKernel::configure()</a>, <a class="el" href="reference_2_winograd_8cpp_source.xhtml#l00233">arm_compute::test::validation::reference::winograd_input_transform()</a>, and <a class="el" href="reference_2_winograd_8cpp_source.xhtml#l00437">arm_compute::test::validation::reference::winograd_output_transform()</a>.</p>
+
</div>
</div>
<a id="afe3b7128bf77dd12c85eed944fe5b3d4"></a>
@@ -9777,7 +10540,7 @@
<p>Convert an offset in window steps into absolute coordinates. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">w</td><td><a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a> <code>offset</code> is related to. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">w</td><td><a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window.">Window</a> <code>offset</code> is related to. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>Offset inside the window expressed in number of window steps.</td></tr>
</table>
</dd>
@@ -9785,10 +10548,11 @@
<dl class="section return"><dt>Returns</dt><dd>Absolute coordinates. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_window_iterator_8h_source.xhtml#l00044">44</a> of file <a class="el" href="_window_iterator_8h_source.xhtml">WindowIterator.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_dimensions_8h_source.xhtml#l00045">Dimensions< int >::num_max_dimensions</a>, and <a class="el" href="_dimensions_8h_source.xhtml#l00074">Dimensions< T >::set()</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>  Coordinates position;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < Coordinates::num_max_dimensions; ++i)</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>  position.set(i, w[i].start() + <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a>[i] * w[i].step());</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> position;</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> }</div><div class="ttc" id="src_2core_2_c_l_2cl__kernels_2_helpers_8h_xhtml_a009469e4d9b8fce3b6d5e97d2077827d"><div class="ttname"><a href="src_2core_2_c_l_2cl__kernels_2_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="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00309">helpers.h:309</a></div></div>
+<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>  Coordinates position;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < Coordinates::num_max_dimensions; ++i)</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>  position.set(i, w[i].start() + <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a>[i] * w[i].<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a75b73e17c4ebe901e44af3b2b9846ab3">step</a>());</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> position;</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> }</div><div class="ttc" id="src_2core_2_c_l_2cl__kernels_2_helpers_8h_xhtml_a009469e4d9b8fce3b6d5e97d2077827d"><div class="ttname"><a href="src_2core_2_c_l_2cl__kernels_2_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="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00312">helpers.h:312</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a75b73e17c4ebe901e44af3b2b9846ab3"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a75b73e17c4ebe901e44af3b2b9846ab3">arm_compute::test::validation::step</a></div><div class="ttdeci">const int step</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_select_8cpp_source.xhtml#l00172">Select.cpp:172</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_dimensions_8h_source.xhtml#l00045">Dimensions< int >::num_max_dimensions</a>, <a class="el" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00312">offset()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00074">Dimensions< T >::set()</a>, and <a class="el" href="_c_l_2_select_8cpp_source.xhtml#l00172">arm_compute::test::validation::step</a>.</p>
+
</div>
</div>
<a id="ad95e1c14c3007ca18950bf8f4c5a5c93"></a>
@@ -9836,14 +10600,14 @@
<dl class="section return"><dt>Returns</dt><dd>linead index </dd></dl>
<p class="definition">Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00308">308</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00160">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#l00171">TensorShape::total_size()</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="reference_2_convert_fully_connected_weights_8cpp_source.xhtml#l00035">arm_compute::test::validation::reference::convert_fully_connected_weights()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>, and <a class="el" href="reference_2_winograd_8cpp_source.xhtml#l00233">arm_compute::test::validation::reference::winograd_input_transform()</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>  <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="l00311"></a><span class="lineno"> 311</span>  <a class="code" href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(num_elements);</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</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="l00313"></a><span class="lineno"> 313</span> </div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  <span class="keywordtype">int</span> index = 0;</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  <span class="keywordtype">int</span> stride = 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">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="l00318"></a><span class="lineno"> 318</span>  {</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  index += coord[d] * stride;</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  stride *= <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>[d];</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> </div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <span class="keywordflow">return</span> index;</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</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_arithmetic_division_8cpp_source.xhtml#l00096">ArithmeticDivision.cpp:96</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a6dc630a6ae9cc063b3924bcea8dee9d6"><div class="ttname"><a href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(...)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00160">Error.h:160</a></div></div>
+<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>  <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="l00311"></a><span class="lineno"> 311</span>  <a class="code" href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(num_elements);</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</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="l00313"></a><span class="lineno"> 313</span> </div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  <span class="keywordtype">int</span> index = 0;</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  <span class="keywordtype">int</span> stride = 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">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="l00318"></a><span class="lineno"> 318</span>  {</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  index += coord[d] * stride;</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  stride *= <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>[d];</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> </div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <span class="keywordflow">return</span> index;</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</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_absolute_difference_8cpp_source.xhtml#l00097">AbsoluteDifference.cpp:97</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a6dc630a6ae9cc063b3924bcea8dee9d6"><div class="ttname"><a href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(...)</div><div class="ttdoc">To avoid unused variables warnings.</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00160">Error.h:160</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#l00328">Error.h:328</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00160">ARM_COMPUTE_UNUSED</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00122">Dimensions< T >::num_dimensions()</a>, and <a class="el" href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00097">arm_compute::test::validation::shape</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="reference_2_convert_fully_connected_weights_8cpp_source.xhtml#l00035">arm_compute::test::validation::reference::convert_fully_connected_weights()</a>, and <a class="el" href="reference_2_winograd_8cpp_source.xhtml#l00233">arm_compute::test::validation::reference::winograd_input_transform()</a>.</p>
+
</div>
</div>
<a id="a5516ba576a612c73954609522347b576"></a>
@@ -9880,12 +10644,12 @@
<dl class="section return"><dt>Returns</dt><dd>String representing the corresponding CPUModel. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_c_p_p_types_8h_source.xhtml#l00069">69</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="l00070"></a><span class="lineno"> 70</span> {</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keywordflow">switch</span>(val)</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">case</span> CPUModel::GENERIC:</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> std::string(<span class="stringliteral">"GENERIC"</span>);</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  }</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keywordflow">case</span> CPUModel::GENERIC_FP16:</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  {</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">return</span> std::string(<span class="stringliteral">"GENERIC_FP16"</span>);</div><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>  <span class="keywordflow">case</span> CPUModel::GENERIC_FP16_DOT:</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  {</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordflow">return</span> std::string(<span class="stringliteral">"GENERIC_FP16_DOT"</span>);</div><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">case</span> CPUModel::A53:</div><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>  <span class="keywordflow">return</span> std::string(<span class="stringliteral">"A53"</span>);</div><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">case</span> CPUModel::A55r0:</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">return</span> std::string(<span class="stringliteral">"A55r0"</span>);</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> CPUModel::A55r1:</div><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> std::string(<span class="stringliteral">"A55r1"</span>);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  }</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Invalid CPUModel."</span>);</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keywordflow">return</span> std::string(<span class="stringliteral">"GENERIC"</span>);</div><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>  }</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</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#l00261">Error.h:261</a></div></div>
+</div><!-- fragment -->
<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aecf3e2493afebcfefb0b9b86bd50ef0d">A53</a>, <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a33f91a7ec1c6be774d71fcd00ac81c92">A55r0</a>, <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a2f2d74257db975404ff4ca97ce1e0bca">A55r1</a>, <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4ac942dc2a9f958acddc67e11472d3ca0b">GENERIC</a>, <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aca6fc09ca003ddc8f631109ce01bc6e8">GENERIC_FP16</a>, and <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aad1a9b424f69f167da12150036196cd7">GENERIC_FP16_DOT</a>.</p>
-<p class="reference">Referenced by <a class="el" href="main_8cpp_source.xhtml#l00087">main()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00070"></a><span class="lineno"> 70</span> {</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keywordflow">switch</span>(val)</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">case</span> CPUModel::GENERIC:</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> std::string(<span class="stringliteral">"GENERIC"</span>);</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  }</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keywordflow">case</span> CPUModel::GENERIC_FP16:</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  {</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">return</span> std::string(<span class="stringliteral">"GENERIC_FP16"</span>);</div><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>  <span class="keywordflow">case</span> CPUModel::GENERIC_FP16_DOT:</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  {</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordflow">return</span> std::string(<span class="stringliteral">"GENERIC_FP16_DOT"</span>);</div><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">case</span> CPUModel::A53:</div><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>  <span class="keywordflow">return</span> std::string(<span class="stringliteral">"A53"</span>);</div><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">case</span> CPUModel::A55r0:</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">return</span> std::string(<span class="stringliteral">"A55r0"</span>);</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> CPUModel::A55r1:</div><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> std::string(<span class="stringliteral">"A55r1"</span>);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  }</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Invalid CPUModel."</span>);</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keywordflow">return</span> std::string(<span class="stringliteral">"GENERIC"</span>);</div><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>  }</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</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#l00261">Error.h:261</a></div></div>
-</div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="main_8cpp_source.xhtml#l00090">main()</a>.</p>
+
</div>
</div>
<a id="a6f698fa1629f7f800b3c8cd77a3d4b4a"></a>
@@ -9982,12 +10746,10 @@
<dl class="section return"><dt>Returns</dt><dd>status containing the error </dd></dl>
<p class="definition">Definition at line <a class="el" href="_error_8cpp_source.xhtml#l00042">42</a> of file <a class="el" href="_error_8cpp_source.xhtml">Error.cpp</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>  va_list args;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  va_start(args, msg);</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keyword">auto</span> err = <a class="code" href="namespacearm__compute.xhtml#aee087c8a7edb0fb5b7e75b9037e34cf7">create_error_va_list</a>(error_code, <span class="keyword">function</span>, file, line, msg, args);</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  va_end(args);</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="keywordflow">return</span> err;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_aee087c8a7edb0fb5b7e75b9037e34cf7"><div class="ttname"><a href="namespacearm__compute.xhtml#aee087c8a7edb0fb5b7e75b9037e34cf7">arm_compute::create_error_va_list</a></div><div class="ttdeci">Status create_error_va_list(ErrorCode error_code, const char *function, const char *file, const int line, const char *msg, va_list args)</div><div class="ttdoc">Creates an error containing the error message from variable argument list.</div><div class="ttdef"><b>Definition:</b> <a href="_error_8cpp_source.xhtml#l00033">Error.cpp:33</a></div></div>
+</div><!-- fragment -->
<p class="reference">References <a class="el" href="_error_8cpp_source.xhtml#l00033">create_error_va_list()</a>.</p>
-<p class="reference">Referenced by <a class="el" href="_error_8h_source.xhtml#l00102">Status::throw_if_error()</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>  va_list args;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  va_start(args, msg);</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keyword">auto</span> err = <a class="code" href="namespacearm__compute.xhtml#aee087c8a7edb0fb5b7e75b9037e34cf7">create_error_va_list</a>(error_code, <span class="keyword">function</span>, file, line, msg, args);</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  va_end(args);</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="keywordflow">return</span> err;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_aee087c8a7edb0fb5b7e75b9037e34cf7"><div class="ttname"><a href="namespacearm__compute.xhtml#aee087c8a7edb0fb5b7e75b9037e34cf7">arm_compute::create_error_va_list</a></div><div class="ttdeci">Status create_error_va_list(ErrorCode error_code, const char *function, const char *file, const int line, const char *msg, va_list args)</div><div class="ttdoc">Creates an error containing the error message from variable argument list. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8cpp_source.xhtml#l00033">Error.cpp:33</a></div></div>
-</div><!-- fragment -->
</div>
</div>
<a id="aee087c8a7edb0fb5b7e75b9037e34cf7"></a>
@@ -10055,15 +10817,14 @@
<dl class="section return"><dt>Returns</dt><dd>status containing the error </dd></dl>
<p class="definition">Definition at line <a class="el" href="_error_8cpp_source.xhtml#l00033">33</a> of file <a class="el" href="_error_8cpp_source.xhtml">Error.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00309">offset()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00266">arm_compute::test::validation::out</a>, and <a class="el" href="_toolchain_support_8h_source.xhtml#l00289">arm_compute::support::cpp11::snprintf()</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_error_8cpp_source.xhtml#l00042">create_error()</a>, <a class="el" href="_error_8cpp_source.xhtml#l00051">error()</a>, and <a class="el" href="_error_8h_source.xhtml#l00102">Status::throw_if_error()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> {</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <span class="keywordtype">char</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>[512];</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <span class="keywordtype">int</span> <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a> = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a9429515817425d10f4b662eaa069cc5c">snprintf</a>(out, <span class="keyword">sizeof</span>(out), <span class="stringliteral">"in %s %s:%d: "</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  vsnprintf(out + offset, <span class="keyword">sizeof</span>(out) - offset, msg, args);</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">Status</a>(error_code, std::string(out));</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> }</div><div class="ttc" id="src_2core_2_c_l_2cl__kernels_2_helpers_8h_xhtml_a009469e4d9b8fce3b6d5e97d2077827d"><div class="ttname"><a href="src_2core_2_c_l_2cl__kernels_2_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="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00309">helpers.h:309</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_af8a8a0625e7981212a0af48deb9d2a09"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">arm_compute::test::validation::out</a></div><div class="ttdeci">CLTensor out</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00266">Winograd.cpp:266</a></div></div>
+<div class="fragment"><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> {</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <span class="keywordtype">char</span> out[512];</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <span class="keywordtype">int</span> <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a> = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a9429515817425d10f4b662eaa069cc5c">snprintf</a>(out, <span class="keyword">sizeof</span>(out), <span class="stringliteral">"in %s %s:%d: "</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  vsnprintf(out + <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a>, <span class="keyword">sizeof</span>(out) - <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a>, msg, args);</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">Status</a>(error_code, std::string(out));</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> }</div><div class="ttc" id="src_2core_2_c_l_2cl__kernels_2_helpers_8h_xhtml_a009469e4d9b8fce3b6d5e97d2077827d"><div class="ttname"><a href="src_2core_2_c_l_2cl__kernels_2_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="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00312">helpers.h:312</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1support_1_1cpp11_xhtml_a9429515817425d10f4b662eaa069cc5c"><div class="ttname"><a href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a9429515817425d10f4b662eaa069cc5c">arm_compute::support::cpp11::snprintf</a></div><div class="ttdeci">int snprintf(char *s, std::size_t n, const char *fmt, Ts &&... args)</div><div class="ttdoc">Loads the data from the given location, converts them to character string equivalents and writes the ...</div><div class="ttdef"><b>Definition:</b> <a href="_toolchain_support_8h_source.xhtml#l00289">ToolchainSupport.h:289</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00312">offset()</a>, and <a class="el" href="_toolchain_support_8h_source.xhtml#l00289">arm_compute::support::cpp11::snprintf()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_error_8cpp_source.xhtml#l00042">create_error()</a>, and <a class="el" href="_error_8cpp_source.xhtml#l00051">error()</a>.</p>
+
</div>
</div>
<a id="abc72c95941485d8a068fa38372308574"></a>
@@ -10082,12 +10843,42 @@
</div><div class="memdoc">
<p>Helper function to create and return a unique_ptr pointed to a CL/GLES kernel object. </p>
-<dl class="section return"><dt>Returns</dt><dd>A unique pointer pointed to a <a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> kernel object </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>A unique pointer pointed to a <a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class.">Kernel</a> kernel object </dd></dl>
<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00086">86</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_g_c_kernel_library_8h_source.xhtml#l00237">GCKernelLibrary::set_context()</a>, and <a class="el" href="_c_l_kernel_library_8h_source.xhtml#l00290">CLKernelLibrary::set_device()</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>  std::unique_ptr<Kernel> k = arm_compute::support::cpp14::make_unique<Kernel>();</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keywordflow">return</span> k;</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span> }</div></div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00042">GCLogits1DMaxKernel::configure()</a>, <a class="el" href="_c_l_integral_image_kernel_8cpp_source.xhtml#l00039">CLIntegralImageHorKernel::configure()</a>, <a class="el" href="_c_l_warp_perspective_kernel_8cpp_source.xhtml#l00061">CLWarpPerspectiveKernel::configure()</a>, <a class="el" href="_c_l_table_lookup_kernel_8cpp_source.xhtml#l00039">CLTableLookupKernel::configure()</a>, <a class="el" href="_c_l_box3x3_kernel_8cpp_source.xhtml#l00043">CLBox3x3Kernel::configure()</a>, <a class="el" href="_c_l_dilate_kernel_8cpp_source.xhtml#l00039">CLDilateKernel::configure()</a>, <a class="el" href="_c_l_element_wise_unary_layer_kernel_8cpp_source.xhtml#l00052">CLElementWiseUnaryLayerKernel::configure()</a>, <a class="el" href="_c_l_erode_kernel_8cpp_source.xhtml#l00039">CLErodeKernel::configure()</a>, <a class="el" href="_c_l_median3x3_kernel_8cpp_source.xhtml#l00039">CLMedian3x3Kernel::configure()</a>, <a class="el" href="_c_l_gaussian3x3_kernel_8cpp_source.xhtml#l00042">CLGaussian3x3Kernel::configure()</a>, <a class="el" href="_c_l_transpose_kernel_8cpp_source.xhtml#l00111">CLTransposeKernel::configure()</a>, <a class="el" href="_c_l_warp_affine_kernel_8cpp_source.xhtml#l00061">CLWarpAffineKernel::configure()</a>, <a class="el" href="_g_c_transpose_kernel_8cpp_source.xhtml#l00040">GCTransposeKernel::configure()</a>, <a class="el" href="_c_l_bitwise_not_kernel_8cpp_source.xhtml#l00034">CLBitwiseNotKernel::configure()</a>, <a class="el" href="_c_l_non_maxima_suppression3x3_kernel_8cpp_source.xhtml#l00044">CLNonMaximaSuppression3x3Kernel::configure()</a>, <a class="el" href="_c_l_scale_kernel_8cpp_source.xhtml#l00161">CLScaleKernel::configure()</a>, <a class="el" href="_c_l_accumulate_kernel_8cpp_source.xhtml#l00036">CLAccumulateKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_c_h_w_kernel_8cpp_source.xhtml#l00209">CLDepthwiseConvolutionLayer3x3NCHWKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00168">CLDepthwiseConvolutionLayer3x3NHWCKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_accumulate_biases_kernel_8cpp_source.xhtml#l00079">CLGEMMMatrixAccumulateBiasesKernel::configure()</a>, <a class="el" href="_c_l_non_linear_filter_kernel_8cpp_source.xhtml#l00056">CLNonLinearFilterKernel::configure()</a>, <a class="el" href="_c_l_threshold_kernel_8cpp_source.xhtml#l00037">CLThresholdKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_vector_multiply_kernel_8cpp_source.xhtml#l00083">CLGEMMMatrixVectorMultiplyKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_reshape_weights_kernel_8cpp_source.xhtml#l00087">CLDepthwiseConvolutionLayerReshapeWeightsKernel::configure()</a>, <a class="el" href="_c_l_min_max_layer_kernel_8cpp_source.xhtml#l00088">CLMinMaxLayerKernel::configure()</a>, <a class="el" href="_c_l_floor_kernel_8cpp_source.xhtml#l00079">CLFloorKernel::configure()</a>, <a class="el" href="_c_l_flatten_layer_kernel_8cpp_source.xhtml#l00086">CLFlattenLayerKernel::configure()</a>, <a class="el" href="_c_l_copy_kernel_8cpp_source.xhtml#l00138">CLCopyKernel::configure()</a>, <a class="el" href="_c_l_channel_shuffle_layer_kernel_8cpp_source.xhtml#l00095">CLChannelShuffleLayerKernel::configure()</a>, <a class="el" href="_c_l_gaussian_pyramid_kernel_8cpp_source.xhtml#l00044">CLGaussianPyramidHorKernel::configure()</a>, <a class="el" href="_c_l_reshape_layer_kernel_8cpp_source.xhtml#l00067">CLReshapeLayerKernel::configure()</a>, <a class="el" href="_c_l_reverse_kernel_8cpp_source.xhtml#l00068">CLReverseKernel::configure()</a>, <a class="el" href="_c_l_histogram_kernel_8cpp_source.xhtml#l00053">CLHistogramKernel::configure()</a>, <a class="el" href="_c_l_generate_proposals_layer_kernel_8cpp_source.xhtml#l00068">CLComputeAllAnchorsKernel::configure()</a>, <a class="el" href="_c_l_batch_to_space_layer_kernel_8cpp_source.xhtml#l00084">CLBatchToSpaceLayerKernel::configure()</a>, <a class="el" href="_c_l_normalization_layer_kernel_8cpp_source.xhtml#l00107">CLNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_permute_kernel_8cpp_source.xhtml#l00081">CLPermuteKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00040">CLGradientKernel::configure()</a>, <a class="el" href="_c_l_upsample_layer_kernel_8cpp_source.xhtml#l00066">CLUpsampleLayerKernel::configure()</a>, <a class="el" href="_c_l_bitwise_and_kernel_8cpp_source.xhtml#l00040">CLBitwiseAndKernel::configure()</a>, <a class="el" href="_c_l_bitwise_or_kernel_8cpp_source.xhtml#l00041">CLBitwiseOrKernel::configure()</a>, <a class="el" href="_c_l_locally_connected_matrix_multiply_kernel_8cpp_source.xhtml#l00084">CLLocallyConnectedMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_bitwise_xor_kernel_8cpp_source.xhtml#l00041">CLBitwiseXorKernel::configure()</a>, <a class="el" href="_c_l_memset_kernel_8cpp_source.xhtml#l00042">CLMemsetKernel::configure()</a>, <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00062">CLMinMaxKernel::configure()</a>, <a class="el" href="_c_l_gather_kernel_8cpp_source.xhtml#l00091">CLGatherKernel::configure()</a>, <a class="el" href="_c_l_remap_kernel_8cpp_source.xhtml#l00050">CLRemapKernel::configure()</a>, <a class="el" href="_c_l_reorg_layer_kernel_8cpp_source.xhtml#l00076">CLReorgLayerKernel::configure()</a>, <a class="el" href="_c_l_space_to_batch_layer_kernel_8cpp_source.xhtml#l00089">CLSpaceToBatchLayerKernel::configure()</a>, <a class="el" href="_c_l_depth_convert_layer_kernel_8cpp_source.xhtml#l00073">CLDepthConvertLayerKernel::configure()</a>, <a class="el" href="_c_l_tile_kernel_8cpp_source.xhtml#l00068">CLTileKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_reshape_weights_generic_kernel_8cpp_source.xhtml#l00070">CLDepthwiseConvolutionLayerReshapeWeightsGenericKernel::configure()</a>, <a class="el" href="_g_c_activation_layer_kernel_8cpp_source.xhtml#l00047">GCActivationLayerKernel::configure()</a>, <a class="el" href="_g_c_depthwise_convolution_layer3x3_kernel_8cpp_source.xhtml#l00051">GCDepthwiseConvolutionLayer3x3Kernel::configure()</a>, <a class="el" href="_g_c_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00047">GCPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_g_c_pooling_layer_kernel_8cpp_source.xhtml#l00226">GCPoolingLayerKernel::configure()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00103">CLActivationLayerKernel::configure()</a>, <a class="el" href="_c_l_derivative_kernel_8cpp_source.xhtml#l00050">CLDerivativeKernel::configure()</a>, <a class="el" href="_c_l_comparison_kernel_8cpp_source.xhtml#l00113">CLComparisonKernel::configure()</a>, <a class="el" href="_c_l_deconvolution_layer_upsample_kernel_8cpp_source.xhtml#l00073">CLDeconvolutionLayerUpsampleKernel::configure()</a>, <a class="el" href="_c_l_sobel3x3_kernel_8cpp_source.xhtml#l00050">CLSobel3x3Kernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_addition_kernel_8cpp_source.xhtml#l00079">CLGEMMMatrixAdditionKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate2_tensors_kernel_8cpp_source.xhtml#l00097">CLWidthConcatenate2TensorsKernel::configure()</a>, <a class="el" href="_g_c_fill_border_kernel_8cpp_source.xhtml#l00060">GCFillBorderKernel::configure()</a>, <a class="el" href="_g_c_normalization_layer_kernel_8cpp_source.xhtml#l00049">GCNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00048">CLHOGOrientationBinningKernel::configure()</a>, <a class="el" href="_c_l_fill_border_kernel_8cpp_source.xhtml#l00062">CLFillBorderKernel::configure()</a>, <a class="el" href="_c_l_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00098">CLNormalizePlanarYUVLayerKernel::configure()</a>, <a class="el" href="_c_l_pooling_layer_kernel_8cpp_source.xhtml#l00185">CLPoolingLayerKernel::configure()</a>, <a class="el" href="_c_l_quantization_layer_kernel_8cpp_source.xhtml#l00082">CLQuantizationLayerKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_reshaped_kernel_8cpp_source.xhtml#l00172">CLGEMMLowpMatrixMultiplyReshapedKernel::configure()</a>, <a class="el" href="_c_l_sobel5x5_kernel_8cpp_source.xhtml#l00050">CLSobel5x5HorKernel::configure()</a>, <a class="el" href="_c_l_sobel7x7_kernel_8cpp_source.xhtml#l00050">CLSobel7x7HorKernel::configure()</a>, <a class="el" href="_c_l_dequantization_layer_kernel_8cpp_source.xhtml#l00082">CLDequantizationLayerKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate_layer_kernel_8cpp_source.xhtml#l00092">CLWidthConcatenateLayerKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_reshaped_kernel_8cpp_source.xhtml#l00175">CLGEMMMatrixMultiplyReshapedKernel::configure()</a>, <a class="el" href="_g_c_absolute_difference_kernel_8cpp_source.xhtml#l00047">GCAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_c_l_channel_extract_kernel_8cpp_source.xhtml#l00050">CLChannelExtractKernel::configure()</a>, <a class="el" href="_c_l_depthwise_vector_to_tensor_kernel_8cpp_source.xhtml#l00064">CLDepthwiseVectorToTensorKernel::configure()</a>, <a class="el" href="_c_l_absolute_difference_kernel_8cpp_source.xhtml#l00047">CLAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_g_c_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00094">GCNormalizePlanarYUVLayerKernel::configure()</a>, <a class="el" href="_c_l_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00120">CLPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_c_l_prior_box_layer_kernel_8cpp_source.xhtml#l00103">CLPriorBoxLayerKernel::configure()</a>, <a class="el" href="_c_l_reduction_operation_kernel_8cpp_source.xhtml#l00139">CLReductionOperationKernel::configure()</a>, <a class="el" href="_c_l_bounding_box_transform_kernel_8cpp_source.xhtml#l00070">CLBoundingBoxTransformKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_reshape_r_h_s_matrix_kernel_8cpp_source.xhtml#l00103">CLGEMMReshapeRHSMatrixKernel::configure()</a>, <a class="el" href="_c_l_l2_normalize_layer_kernel_8cpp_source.xhtml#l00095">CLL2NormalizeLayerKernel::configure()</a>, <a class="el" href="_c_l_color_convert_kernel_8cpp_source.xhtml#l00048">CLColorConvertKernel::configure()</a>, <a class="el" href="_c_l_magnitude_phase_kernel_8cpp_source.xhtml#l00046">CLMagnitudePhaseKernel::configure()</a>, <a class="el" href="_c_l_mean_std_dev_kernel_8cpp_source.xhtml#l00066">CLMeanStdDevKernel::configure()</a>, <a class="el" href="_c_l_range_kernel_8cpp_source.xhtml#l00093">CLRangeKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate4_tensors_kernel_8cpp_source.xhtml#l00115">CLWidthConcatenate4TensorsKernel::configure()</a>, <a class="el" href="_g_c_arithmetic_addition_kernel_8cpp_source.xhtml#l00091">GCArithmeticAdditionKernel::configure()</a>, <a class="el" href="_c_l_depthwise_im2_col_kernel_8cpp_source.xhtml#l00065">CLDepthwiseIm2ColKernel::configure()</a>, <a class="el" href="_c_l_channel_combine_kernel_8cpp_source.xhtml#l00049">CLChannelCombineKernel::configure()</a>, <a class="el" href="_c_l_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00098">CLFuseBatchNormalizationKernel::configure()</a>, <a class="el" href="_c_l_select_kernel_8cpp_source.xhtml#l00109">CLSelectKernel::configure()</a>, <a class="el" href="_g_c_direct_convolution_layer_kernel_8cpp_source.xhtml#l00053">GCDirectConvolutionLayerKernel< kernel_size >::configure()</a>, <a class="el" href="_g_c_batch_normalization_layer_kernel_8cpp_source.xhtml#l00139">GCBatchNormalizationLayerKernel::configure()</a>, <a class="el" href="_g_c_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00050">GCDepthConcatenateLayerKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_reshape_l_h_s_matrix_kernel_8cpp_source.xhtml#l00121">CLGEMMReshapeLHSMatrixKernel::configure()</a>, <a class="el" href="_c_l_convert_fully_connected_weights_kernel_8cpp_source.xhtml#l00040">CLConvertFullyConnectedWeightsKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00057">CLConvolutionKernel< matrix_size >::configure()</a>, <a class="el" href="_c_l_stack_layer_kernel_8cpp_source.xhtml#l00084">CLStackLayerKernel::configure()</a>, <a class="el" href="_c_l_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00101">CLDepthConcatenateLayerKernel::configure()</a>, <a class="el" href="_c_l_winograd_input_transform_kernel_8cpp_source.xhtml#l00111">CLWinogradInputTransformKernel::configure()</a>, <a class="el" href="_c_l_y_o_l_o_layer_kernel_8cpp_source.xhtml#l00103">CLYOLOLayerKernel::configure()</a>, <a class="el" href="_c_l_integral_image_kernel_8cpp_source.xhtml#l00071">CLIntegralImageVertKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_kernel_8cpp_source.xhtml#l00234">CLGEMMLowpMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_r_o_i_align_layer_kernel_8cpp_source.xhtml#l00093">CLROIAlignLayerKernel::configure()</a>, <a class="el" href="_c_l_r_o_i_pooling_layer_kernel_8cpp_source.xhtml#l00073">CLROIPoolingLayerKernel::configure()</a>, <a class="el" href="_g_c_dropout_layer_kernel_8cpp_source.xhtml#l00048">GCDropoutLayerKernel::configure()</a>, <a class="el" href="_c_l_winograd_filter_transform_kernel_8cpp_source.xhtml#l00102">CLWinogradFilterTransformKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_output_stage_kernel_8cpp_source.xhtml#l00129">CLDirectConvolutionLayerOutputStageKernel::configure()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00107">GCLogits1DShiftExpSumKernel::configure()</a>, <a class="el" href="_c_l_batch_normalization_layer_kernel_8cpp_source.xhtml#l00138">CLBatchNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_offset_contribution_output_stage_kernel_8cpp_source.xhtml#l00161">CLGEMMLowpOffsetContributionOutputStageKernel::configure()</a>, <a class="el" href="_c_l_strided_slice_kernel_8cpp_source.xhtml#l00106">CLStridedSliceKernel::configure()</a>, <a class="el" href="_c_l_harris_corners_kernel_8cpp_source.xhtml#l00054">CLHarrisScoreKernel::configure()</a>, <a class="el" href="_c_l_winograd_output_transform_kernel_8cpp_source.xhtml#l00146">CLWinogradOutputTransformKernel::configure()</a>, <a class="el" href="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00050">CLFastCornersKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00263">CLGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_h_o_g_detector_kernel_8cpp_source.xhtml#l00044">CLHOGDetectorKernel::configure()</a>, <a class="el" href="_c_l_accumulate_kernel_8cpp_source.xhtml#l00049">CLAccumulateWeightedKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00350">CLDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_interleave4x4_kernel_8cpp_source.xhtml#l00044">GCGEMMInterleave4x4Kernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point_kernel_8cpp_source.xhtml#l00124">CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_float_kernel_8cpp_source.xhtml#l00123">CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFloatKernel::configure()</a>, <a class="el" href="_c_l_scharr3x3_kernel_8cpp_source.xhtml#l00050">CLScharr3x3Kernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_kernel_8cpp_source.xhtml#l00114">CLGEMMLowpQuantizeDownInt32ToUint8ScaleKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_offset_contribution_kernel_8cpp_source.xhtml#l00145">CLGEMMLowpOffsetContributionKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_reduction_kernel_8cpp_source.xhtml#l00106">CLGEMMLowpMatrixAReductionKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_interleave4x4_kernel_8cpp_source.xhtml#l00119">CLGEMMInterleave4x4Kernel::configure()</a>, <a class="el" href="_g_c_tensor_shift_kernel_8cpp_source.xhtml#l00045">GCTensorShiftKernel::configure()</a>, <a class="el" href="_c_l_col2_im_kernel_8cpp_source.xhtml#l00090">CLCol2ImKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_transpose1x_w_kernel_8cpp_source.xhtml#l00092">CLGEMMTranspose1xWKernel::configure()</a>, <a class="el" href="_g_c_weights_reshape_kernel_8cpp_source.xhtml#l00046">GCWeightsReshapeKernel::configure()</a>, <a class="el" href="_g_c_col2_im_kernel_8cpp_source.xhtml#l00044">GCCol2ImKernel::configure()</a>, <a class="el" href="_c_l_weights_reshape_kernel_8cpp_source.xhtml#l00078">CLWeightsReshapeKernel::configure()</a>, <a class="el" href="_c_l_im2_col_kernel_8cpp_source.xhtml#l00293">CLIm2ColKernel::configure()</a>, <a class="el" href="_g_c_im2_col_kernel_8cpp_source.xhtml#l00067">GCIm2ColKernel::configure()</a>, <a class="el" href="_c_l_l_k_tracker_kernel_8cpp_source.xhtml#l00041">CLLKTrackerInitKernel::configure()</a>, <a class="el" href="_c_l_histogram_kernel_8cpp_source.xhtml#l00149">CLHistogramBorderKernel::configure()</a>, <a class="el" href="_c_l_gaussian_pyramid_kernel_8cpp_source.xhtml#l00136">CLGaussianPyramidVertKernel::configure()</a>, <a class="el" href="_c_l_accumulate_kernel_8cpp_source.xhtml#l00067">CLAccumulateSquaredKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00111">CLEdgeNonMaxSuppressionKernel::configure()</a>, <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00169">CLMinMaxLocationKernel::configure()</a>, <a class="el" href="_c_l_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00125">CLHOGBlockNormalizationKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00127">CLSeparableConvolutionHorKernel< matrix_size >::configure()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00201">GCLogits1DNormKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_reduction_kernel_8cpp_source.xhtml#l00164">CLGEMMLowpMatrixBReductionKernel::configure()</a>, <a class="el" href="_c_l_sobel5x5_kernel_8cpp_source.xhtml#l00144">CLSobel5x5VertKernel::configure()</a>, <a class="el" href="_c_l_sobel7x7_kernel_8cpp_source.xhtml#l00147">CLSobel7x7VertKernel::configure()</a>, <a class="el" href="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00115">CLCopyToArrayKernel::configure()</a>, <a class="el" href="_c_l_l_k_tracker_kernel_8cpp_source.xhtml#l00089">CLLKTrackerFinalizeKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00180">CLSeparableConvolutionVertKernel< matrix_size >::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00173">CLEdgeTraceKernel::configure()</a>, <a class="el" href="_c_l_l_k_tracker_kernel_8cpp_source.xhtml#l00123">CLLKTrackerStage0Kernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00246">CLConvolutionRectangleKernel::configure()</a>, <a class="el" href="_c_l_l_k_tracker_kernel_8cpp_source.xhtml#l00213">CLLKTrackerStage1Kernel::configure()</a>, and <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00335">CLLogits1DNormKernel::configure()</a>.</p>
+
+</div>
+</div>
+<a id="aca9062d049299f125a442eac466402fd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aca9062d049299f125a442eac466402fd">◆ </a></span>create_opencl_context_and_device()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">std::tuple< cl::Context, cl::Device, cl_int > create_opencl_context_and_device </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>This function creates an OpenCL context and a device. </p>
+<dl class="section note"><dt>Note</dt><dd>In debug builds, the function will automatically enable cl_arm_printf if the driver/device supports it.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>A std::tuple where the first element is the opencl context, the second element is the opencl device and the third one an error code. The error code will be CL_SUCCESS upon successful creation, otherwise a value telling why the function failed. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="runtime_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00086">86</a> of file <a class="el" href="runtime_2_c_l_2_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</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>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(!<a class="code" href="namespacearm__compute.xhtml#a5f49decb4b0a74d5361686ab45db8961">opencl_is_available</a>());</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  std::vector<cl::Platform> platforms;</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  cl::Platform::get(&platforms);</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(platforms.size() == 0, <span class="stringliteral">"Couldn't find any OpenCL platform"</span>);</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  cl::Platform p = platforms[0];</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  cl::Device device;</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  std::vector<cl::Device> platform_devices;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  p.getDevices(CL_DEVICE_TYPE_DEFAULT, &platform_devices);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(platform_devices.size() == 0, <span class="stringliteral">"Couldn't find any OpenCL device"</span>);</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  device = platform_devices[0];</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  cl_int err = CL_SUCCESS;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  cl_context_properties properties[7] = { 0, 0, 0, 0, 0, 0, 0 };</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  initialise_context_properties(p, device, properties);</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  cl::Context cl_context = cl::Context(device, properties, <span class="keyword">nullptr</span>, <span class="keyword">nullptr</span>, &err);</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(err != CL_SUCCESS, <span class="stringliteral">"Failed to create OpenCL context"</span>);</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordflow">return</span> std::make_tuple(cl_context, device, err);</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</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#l00337">Error.h:337</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a5f49decb4b0a74d5361686ab45db8961"><div class="ttname"><a href="namespacearm__compute.xhtml#a5f49decb4b0a74d5361686ab45db8961">arm_compute::opencl_is_available</a></div><div class="ttdeci">bool opencl_is_available()</div><div class="ttdoc">Check if OpenCL is available.</div><div class="ttdef"><b>Definition:</b> <a href="_open_c_l_8cpp_source.xhtml#l00133">OpenCL.cpp:133</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#l00328">Error.h:328</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON_MSG</a>, and <a class="el" href="_open_c_l_8cpp_source.xhtml#l00133">opencl_is_available()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_c_l_scheduler_8cpp_source.xhtml#l00060">CLScheduler::default_init()</a>, and <a class="el" href="main_8cpp_source.xhtml#l00090">main()</a>.</p>
+
</div>
</div>
<a id="aaf5f536bf7ec25ff83b912badcf61405"></a>
@@ -10128,21 +10919,19 @@
</table>
</div><div class="memdoc">
-<p>Create a <a class="el" href="classarm__compute_1_1_window_iterator.xhtml" title="Iterate over a portion of a Window. ">WindowIterator</a> object. </p>
+<p>Create a <a class="el" href="classarm__compute_1_1_window_iterator.xhtml" title="Iterate over a portion of a Window.">WindowIterator</a> object. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">w</td><td><a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a> to use for the iteration </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">start</td><td>Where to start iterating from (In <a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a> coordinates) </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">end</td><td>Where to stop iterating (In <a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a> coordinates). </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">w</td><td><a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window.">Window</a> to use for the iteration </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">start</td><td>Where to start iterating from (In <a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window.">Window</a> coordinates) </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">end</td><td>Where to stop iterating (In <a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window.">Window</a> coordinates). </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">lambda_function</td><td>Lambda function to call for every iteration between start and end. (It will be called last for end - 1)</td></tr>
</table>
</dd>
</dl>
-<dl class="section return"><dt>Returns</dt><dd>A <a class="el" href="classarm__compute_1_1_window_iterator.xhtml" title="Iterate over a portion of a Window. ">WindowIterator</a> object. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>A <a class="el" href="classarm__compute_1_1_window_iterator.xhtml" title="Iterate over a portion of a Window.">WindowIterator</a> object. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_window_iterator_8h_source.xhtml#l00317">317</a> of file <a class="el" href="_window_iterator_8h_source.xhtml">WindowIterator.h</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_window_iterator_8cpp_source.xhtml#l00064">DATA_TEST_CASE()</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> WindowIterator<L>(w, start, end, std::move(lambda_function));</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span> }</div></div><!-- fragment -->
</div>
</div>
@@ -10171,11 +10960,11 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Converted DataLayout enumeration </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_type_loader_8cpp_source.xhtml#l00051">51</a> of file <a class="el" href="_type_loader_8cpp_source.xhtml">TypeLoader.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">NCHW</a>, <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">NHWC</a>, and <a class="el" href="_utility_8h_source.xhtml#l00202">arm_compute::utility::tolower()</a>.</p>
-<div class="fragment"><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>  <span class="keyword">static</span> <span class="keyword">const</span> std::map<std::string, arm_compute::DataLayout> data_layouts =</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="stringliteral">"nhwc"</span>, DataLayout::NHWC },</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  { <span class="stringliteral">"nchw"</span>, DataLayout::NCHW },</div><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> </div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keywordflow">try</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">return</span> data_layouts.at(<a class="code" href="namespacearm__compute_1_1utility.xhtml#abb96ad5c7071ec3a47ea5f07e817a636">arm_compute::utility::tolower</a>(name));</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">catch</span>(<span class="keyword">const</span> std::out_of_range &)</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="keywordflow">throw</span> std::invalid_argument(name);</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> }</div><div class="ttc" id="namespacearm__compute_1_1utility_xhtml_abb96ad5c7071ec3a47ea5f07e817a636"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#abb96ad5c7071ec3a47ea5f07e817a636">arm_compute::utility::tolower</a></div><div class="ttdeci">std::string tolower(std::string string)</div><div class="ttdoc">Convert string to lower case. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00202">Utility.h:202</a></div></div>
+<p class="definition">Definition at line <a class="el" href="_type_loader_8cpp_source.xhtml#l00056">56</a> of file <a class="el" href="_type_loader_8cpp_source.xhtml">TypeLoader.cpp</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>  <span class="keyword">static</span> <span class="keyword">const</span> std::map<std::string, arm_compute::DataLayout> data_layouts =</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="stringliteral">"nhwc"</span>, DataLayout::NHWC },</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  { <span class="stringliteral">"nchw"</span>, DataLayout::NCHW },</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="preprocessor">#ifndef ARM_COMPUTE_EXCEPTIONS_DISABLED</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keywordflow">try</span></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="preprocessor">#endif </span><span class="comment">/* ARM_COMPUTE_EXCEPTIONS_DISABLED */</span><span class="preprocessor"></span></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keywordflow">return</span> data_layouts.at(<a class="code" href="namespacearm__compute_1_1utility.xhtml#abb96ad5c7071ec3a47ea5f07e817a636">arm_compute::utility::tolower</a>(name));</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor">#ifndef ARM_COMPUTE_EXCEPTIONS_DISABLED</span></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>  <span class="keywordflow">catch</span>(<span class="keyword">const</span> std::out_of_range &)</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>  <span class="keywordflow">throw</span> std::invalid_argument(name);</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="preprocessor">#endif </span><span class="comment">/* ARM_COMPUTE_EXCEPTIONS_DISABLED */</span><span class="preprocessor"></span></div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> }</div><div class="ttc" id="namespacearm__compute_1_1utility_xhtml_abb96ad5c7071ec3a47ea5f07e817a636"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#abb96ad5c7071ec3a47ea5f07e817a636">arm_compute::utility::tolower</a></div><div class="ttdeci">std::string tolower(std::string string)</div><div class="ttdoc">Convert string to lower case.</div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00188">Utility.h:188</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">NCHW</a>, <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">NHWC</a>, and <a class="el" href="_utility_8h_source.xhtml#l00188">arm_compute::utility::tolower()</a>.</p>
+
</div>
</div>
<a id="abb7e0f23a4f2e63f39433f158dad47ab"></a>
@@ -10212,13 +11001,13 @@
<dl class="section return"><dt>Returns</dt><dd>The size in bytes of the data type </dd></dl>
<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00108">108</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">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#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 class="reference">Referenced by <a class="el" href="_c_l_locally_connected_matrix_multiply_kernel_8cpp_source.xhtml#l00044">CLLocallyConnectedMatrixMultiplyKernel::CLLocallyConnectedMatrixMultiplyKernel()</a>, <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00437">NELogits1DMaxKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00040">CLGradientKernel::configure()</a>, <a class="el" href="_c_l_depth_convert_layer_kernel_8cpp_source.xhtml#l00095">CLDepthConvertLayerKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_addition_kernel_8cpp_source.xhtml#l00043">GCGEMMMatrixAdditionKernel::configure()</a>, <a class="el" href="_n_e_reduction_operation_kernel_8cpp_source.xhtml#l00597">NEReductionOperationKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_interleave4x4_kernel_8cpp_source.xhtml#l00044">GCGEMMInterleave4x4Kernel::configure()</a>, <a class="el" href="_n_e_g_e_m_m_8cpp_source.xhtml#l00051">NEGEMM::configure()</a>, <a class="el" href="validation_2_c_l_2_activation_layer_8cpp_source.xhtml#l00091">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_tensor_info_8h_source.xhtml#l00240">TensorInfo::element_size()</a>, <a class="el" href="_n_e_h_o_g_detector_kernel_8cpp_source.xhtml#l00095">NEHOGDetectorKernel::run()</a>, <a class="el" href="_n_e_g_e_m_m_lowp_matrix_multiply_kernel_8cpp_source.xhtml#l00829">NEGEMMLowpMatrixMultiplyKernel::run()</a>, <a class="el" href="_n_e_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00772">NEHOGBlockNormalizationKernel::run()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l01024">NEEdgeNonMaxSuppressionKernel::run()</a>, <a class="el" href="_i_lut_allocator_8cpp_source.xhtml#l00055">ILutAllocator::size()</a>, and <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00324">vadd()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> {</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</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="l00111"></a><span class="lineno"> 111</span>  {</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keywordflow">case</span> DataType::F64:</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordflow">return</span> 8;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="keywordflow">case</span> DataType::SIZET:</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordflow">return</span> <span class="keyword">sizeof</span>(size_t);</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">"Invalid data type"</span>);</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keywordflow">return</span> 0;</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="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#l00261">Error.h:261</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_arithmetic_subtraction_8cpp_source.xhtml#l00174">ArithmeticSubtraction.cpp:174</a></div></div>
+<div class="fragment"><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> {</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</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="l00111"></a><span class="lineno"> 111</span>  {</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keywordflow">case</span> DataType::F64:</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordflow">return</span> 8;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="keywordflow">case</span> DataType::SIZET:</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordflow">return</span> <span class="keyword">sizeof</span>(size_t);</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">"Invalid data type"</span>);</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keywordflow">return</span> 0;</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="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#l00261">Error.h:261</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="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">ConvolutionLayer.cpp:174</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">arm_compute::test::validation::data_type</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#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 class="reference">Referenced by <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00437">NELogits1DMaxKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00040">CLGradientKernel::configure()</a>, <a class="el" href="_c_l_depth_convert_layer_kernel_8cpp_source.xhtml#l00073">CLDepthConvertLayerKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_addition_kernel_8cpp_source.xhtml#l00043">GCGEMMMatrixAdditionKernel::configure()</a>, <a class="el" href="_n_e_reduction_operation_kernel_8cpp_source.xhtml#l00983">NEReductionOperationKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_interleave4x4_kernel_8cpp_source.xhtml#l00044">GCGEMMInterleave4x4Kernel::configure()</a>, <a class="el" href="_n_e_g_e_m_m_8cpp_source.xhtml#l00051">NEGEMM::configure()</a>, <a class="el" href="validation_2_n_e_o_n_2_softmax_layer_8cpp_source.xhtml#l00065">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_tensor_info_8h_source.xhtml#l00240">TensorInfo::element_size()</a>, <a class="el" href="_n_e_h_o_g_detector_kernel_8cpp_source.xhtml#l00095">NEHOGDetectorKernel::run()</a>, <a class="el" href="_n_e_g_e_m_m_lowp_matrix_multiply_kernel_8cpp_source.xhtml#l00829">NEGEMMLowpMatrixMultiplyKernel::run()</a>, <a class="el" href="_n_e_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00772">NEHOGBlockNormalizationKernel::run()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l01024">NEEdgeNonMaxSuppressionKernel::run()</a>, and <a class="el" href="_i_lut_allocator_8cpp_source.xhtml#l00055">ILutAllocator::size()</a>.</p>
+
</div>
</div>
<a id="a01adc12d8e07c06cdb0f03c56a455bf3"></a>
@@ -10273,13 +11062,13 @@
<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 class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00706">706</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="l00707"></a><span class="lineno"> 707</span> {</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> first_stage = DataType::UNKNOWN;</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> second_stage = DataType::UNKNOWN;</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">auto</span> gez = [](<span class="keyword">const</span> int16_t &v)</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>  {</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>  <span class="keywordflow">return</span> v >= 0;</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>  };</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="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="l00717"></a><span class="lineno"> 717</span>  {</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>  <span class="keywordflow">return</span> first + (second < 0 ? second : 0);</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> </div><div class="line"><a name="l00721"></a><span class="lineno"> 721</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="l00722"></a><span class="lineno"> 722</span>  {</div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>  <span class="keywordflow">return</span> first + (second > 0 ? second : 0);</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> </div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>  <span class="keyword">const</span> <span class="keywordtype">bool</span> only_positive_coefficients = std::all_of(conv_row, conv_row + size, gez) && std::all_of(conv_col, conv_col + size, gez);</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">if</span>(only_positive_coefficients)</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>  <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 + size, 0) * UINT8_MAX;</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</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 + size, 0) * max_row_value;</div><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>  first_stage = (max_row_value <= UINT16_MAX) ? DataType::U16 : DataType::S32;</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span> </div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>  second_stage = (max_value <= UINT16_MAX) ? DataType::U16 : DataType::S32;</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="keywordflow">else</span></div><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="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 + size, 0, accu_neg) * UINT8_MAX;</div><div class="line"><a name="l00740"></a><span class="lineno"> 740</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 + size, 0, accu_pos) * UINT8_MAX;</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</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 + size, 0, accu_neg);</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</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 + size, 0, accu_pos);</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</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="l00744"></a><span class="lineno"> 744</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="l00745"></a><span class="lineno"> 745</span> </div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span>  first_stage = ((INT16_MIN <= min_row_value) && (max_row_value <= INT16_MAX)) ? DataType::S16 : DataType::S32;</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>  second_stage = ((INT16_MIN <= min_value) && (max_value <= INT16_MAX)) ? DataType::S16 : DataType::S32;</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> </div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span>  <span class="keywordflow">return</span> std::make_pair(first_stage, second_stage);</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span> }</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#l00074">Types.h:74</a></div></div>
+</div><!-- fragment -->
<p class="reference">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>
<p class="reference">Referenced by <a class="el" href="_c_l_convolution_8cpp_source.xhtml#l00056">CLConvolutionSquare< matrix_size >::configure()</a>, and <a class="el" href="_n_e_convolution_8cpp_source.xhtml#l00057">NEConvolutionSquare< matrix_size >::configure()</a>.</p>
-<div class="fragment"><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>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> first_stage = DataType::UNKNOWN;</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> second_stage = DataType::UNKNOWN;</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">auto</span> gez = [](<span class="keyword">const</span> int16_t &v)</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>  {</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>  <span class="keywordflow">return</span> v >= 0;</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>  };</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="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="l00717"></a><span class="lineno"> 717</span>  {</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>  <span class="keywordflow">return</span> first + (second < 0 ? second : 0);</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> </div><div class="line"><a name="l00721"></a><span class="lineno"> 721</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="l00722"></a><span class="lineno"> 722</span>  {</div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>  <span class="keywordflow">return</span> first + (second > 0 ? second : 0);</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> </div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>  <span class="keyword">const</span> <span class="keywordtype">bool</span> only_positive_coefficients = std::all_of(conv_row, conv_row + size, gez) && std::all_of(conv_col, conv_col + size, gez);</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">if</span>(only_positive_coefficients)</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>  <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 + size, 0) * UINT8_MAX;</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</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 + size, 0) * max_row_value;</div><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>  first_stage = (max_row_value <= UINT16_MAX) ? DataType::U16 : DataType::S32;</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span> </div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>  second_stage = (max_value <= UINT16_MAX) ? DataType::U16 : DataType::S32;</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="keywordflow">else</span></div><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="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 + size, 0, accu_neg) * UINT8_MAX;</div><div class="line"><a name="l00740"></a><span class="lineno"> 740</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 + size, 0, accu_pos) * UINT8_MAX;</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</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 + size, 0, accu_neg);</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</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 + size, 0, accu_pos);</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</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="l00744"></a><span class="lineno"> 744</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="l00745"></a><span class="lineno"> 745</span> </div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span>  first_stage = ((INT16_MIN <= min_row_value) && (max_row_value <= INT16_MAX)) ? DataType::S16 : DataType::S32;</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>  second_stage = ((INT16_MIN <= min_value) && (max_value <= INT16_MAX)) ? DataType::S16 : DataType::S32;</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> </div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span>  <span class="keywordflow">return</span> std::make_pair(first_stage, second_stage);</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span> }</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#l00074">Types.h:74</a></div></div>
-</div><!-- fragment -->
+
</div>
</div>
<a id="a3992df9e8723140a53e49dc194d89ef5"></a>
@@ -10327,15 +11116,13 @@
<dl class="section return"><dt>Returns</dt><dd>The return is the biggest data type needed to do the convolution </dd></dl>
<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00762">762</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
-
-<p class="reference">References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00102">arm_compute::test::validation::a</a>, <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>, <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00091">arm_compute::test::validation::b</a>, <a class="el" href="validation_2_c_l_2_convolution_8cpp_source.xhtml#l00133">arm_compute::test::validation::border_mode</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00324">calculate_same_pad()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00694">arm_compute::test::validation::conv_info</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00339">deconvolution_output_dimensions()</a>, <a class="el" href="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00175">arm_compute::test::validation::policy</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="src_2core_2_utils_8cpp_source.xhtml#l00352">scaled_dimensions()</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00162">string_from_activation_func()</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00219">string_from_border_mode()</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00106">string_from_channel()</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00127">string_from_data_layout()</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00139">string_from_data_type()</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00080">string_from_format()</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00255">string_from_gemmlowp_output_stage()</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00207">string_from_interpolation_policy()</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00182">string_from_matrix_pattern()</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00195">string_from_non_linear_filter_function()</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00231">string_from_norm_type()</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00268">string_from_pixel_value()</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00243">string_from_pooling_type()</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>.</p>
+<div class="fragment"><div class="line"><a name="l00763"></a><span class="lineno"> 763</span> {</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>  <span class="keyword">auto</span> gez = [](<span class="keyword">const</span> int16_t v)</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="keywordflow">return</span> v >= 0;</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</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>  <span class="keyword">const</span> <span class="keywordtype">bool</span> only_positive_coefficients = std::all_of(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adab2e84e4e20f041fdcd075e2864b132">conv</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adab2e84e4e20f041fdcd075e2864b132">conv</a> + size, gez);</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span> </div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>  <span class="keywordflow">if</span>(only_positive_coefficients)</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>  <span class="keyword">const</span> <span class="keywordtype">int</span> max_conv_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adab2e84e4e20f041fdcd075e2864b132">conv</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adab2e84e4e20f041fdcd075e2864b132">conv</a> + size, 0) * UINT8_MAX;</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  <span class="keywordflow">if</span>(max_conv_value <= UINT16_MAX)</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>  {</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>  <span class="keywordflow">return</span> DataType::U16;</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">else</span></div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>  {</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>  <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>  }</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="keywordflow">else</span></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>  <span class="keyword">const</span> <span class="keywordtype">int</span> min_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adab2e84e4e20f041fdcd075e2864b132">conv</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adab2e84e4e20f041fdcd075e2864b132">conv</a> + size, 0, [](<span class="keywordtype">int</span> a, <span class="keywordtype">int</span> b)</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="keywordflow">return</span> b < 0 ? a + b : a;</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>  })</div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>  * UINT8_MAX;</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="keyword">const</span> <span class="keywordtype">int</span> max_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adab2e84e4e20f041fdcd075e2864b132">conv</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adab2e84e4e20f041fdcd075e2864b132">conv</a> + size, 0, [](<span class="keywordtype">int</span> a, <span class="keywordtype">int</span> b)</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  {</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>  <span class="keywordflow">return</span> b > 0 ? a + b : a;</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>  * UINT8_MAX;</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span> </div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span>  <span class="keywordflow">if</span>((INT16_MIN <= min_value) && (INT16_MAX >= max_value))</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>  {</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>  <span class="keywordflow">return</span> DataType::S16;</div><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>  <span class="keywordflow">else</span></div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>  {</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>  <span class="keywordflow">return</span> DataType::S32;</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 class="line"><a name="l00806"></a><span class="lineno"> 806</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_adab2e84e4e20f041fdcd075e2864b132"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#adab2e84e4e20f041fdcd075e2864b132">arm_compute::test::validation::conv</a></div><div class="ttdeci">int16_t conv[25]</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_8cpp_source.xhtml#l00125">Convolution.cpp:125</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><!-- fragment -->
+<p class="reference">References <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>, <a class="el" href="validation_2_c_l_2_convolution_8cpp_source.xhtml#l00125">arm_compute::test::validation::conv</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>
<p class="reference">Referenced by <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00057">CLConvolutionKernel< matrix_size >::configure()</a>, and <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00246">CLConvolutionRectangleKernel::configure()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00763"></a><span class="lineno"> 763</span> {</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>  <span class="keyword">auto</span> gez = [](<span class="keyword">const</span> int16_t v)</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="keywordflow">return</span> v >= 0;</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</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>  <span class="keyword">const</span> <span class="keywordtype">bool</span> only_positive_coefficients = std::all_of(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a> + size, gez);</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span> </div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>  <span class="keywordflow">if</span>(only_positive_coefficients)</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>  <span class="keyword">const</span> <span class="keywordtype">int</span> max_conv_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a> + size, 0) * UINT8_MAX;</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  <span class="keywordflow">if</span>(max_conv_value <= UINT16_MAX)</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>  {</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>  <span class="keywordflow">return</span> DataType::U16;</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">else</span></div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>  {</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>  <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>  }</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="keywordflow">else</span></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>  <span class="keyword">const</span> <span class="keywordtype">int</span> min_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a> + size, 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="l00786"></a><span class="lineno"> 786</span>  {</div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>  <span class="keywordflow">return</span> b < 0 ? a + <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#aac40b7097f2bda9274ae07fa33d15a79">a</a>;</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>  })</div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>  * UINT8_MAX;</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="keyword">const</span> <span class="keywordtype">int</span> max_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a> + size, 0, [](<span class="keywordtype">int</span> a, <span class="keywordtype">int</span> b)</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  {</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>  <span class="keywordflow">return</span> b > 0 ? a + <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#aac40b7097f2bda9274ae07fa33d15a79">a</a>;</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>  * UINT8_MAX;</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span> </div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span>  <span class="keywordflow">if</span>((INT16_MIN <= min_value) && (INT16_MAX >= max_value))</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>  {</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>  <span class="keywordflow">return</span> DataType::S16;</div><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>  <span class="keywordflow">else</span></div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>  {</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>  <span class="keywordflow">return</span> DataType::S32;</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 class="line"><a name="l00806"></a><span class="lineno"> 806</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">gemm configure & a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00102">GEMM.cpp:102</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_adf88bb8e946175c496fb362aa458128b"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">arm_compute::test::validation::conv</a></div><div class="ttdeci">int16_t conv[25]</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_8cpp_source.xhtml#l00140">Convolution.cpp:140</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">CLTensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00091">GEMM.cpp:91</a></div></div>
-</div><!-- fragment -->
+
</div>
</div>
<a id="a59846ef5ca75cd81cdb7e8a1ce08f9db"></a>
@@ -10372,12 +11159,12 @@
<dl class="section return"><dt>Returns</dt><dd>The size in bytes of the pixel format </dd></dl>
<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00208">208</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="l00209"></a><span class="lineno"> 209</span> {</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <span class="keywordflow">switch</span>(format)</div><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>  <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <span class="keywordflow">return</span> DataType::U8;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <span class="keywordflow">return</span> DataType::U16;</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordflow">return</span> DataType::S16;</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keywordflow">return</span> DataType::U32;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="keywordflow">return</span> DataType::F16;</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <span class="keywordflow">return</span> DataType::F32;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <span class="comment">//Doesn't make sense for planar formats:</span></div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</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="l00238"></a><span class="lineno"> 238</span>  <span class="keywordflow">return</span> 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> }</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#l00261">Error.h:261</a></div></div>
+</div><!-- fragment -->
<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">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 class="reference">Referenced by <a class="el" href="validation_2_c_l_2_canny_edge_8cpp_source.xhtml#l00058">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_simple_tensor_8h_source.xhtml#l00358">SimpleTensor< uint8_t >::data_type()</a>, <a class="el" href="src_2core_2_tensor_info_8cpp_source.xhtml#l00104">TensorInfo::init()</a>, <a class="el" href="src_2core_2_tensor_info_8cpp_source.xhtml#l00173">TensorInfo::init_auto_padding()</a>, and <a class="el" href="src_2core_2_tensor_info_8cpp_source.xhtml#l00325">TensorInfo::set_format()</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">switch</span>(format)</div><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>  <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <span class="keywordflow">return</span> DataType::U8;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <span class="keywordflow">return</span> DataType::U16;</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordflow">return</span> DataType::S16;</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keywordflow">return</span> DataType::U32;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="keywordflow">return</span> DataType::F16;</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <span class="keywordflow">return</span> DataType::F32;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <span class="comment">//Doesn't make sense for planar formats:</span></div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</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="l00238"></a><span class="lineno"> 238</span>  <span class="keywordflow">return</span> 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> }</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#l00261">Error.h:261</a></div></div>
-</div><!-- fragment -->
+
</div>
</div>
<a id="a307a55b07dc70dc9177ff26543b1c66f"></a>
@@ -10406,11 +11193,11 @@
<dl class="section return"><dt>Returns</dt><dd>Converted DataType enumeration </dd></dl>
<p class="definition">Definition at line <a class="el" href="_type_loader_8cpp_source.xhtml#l00032">32</a> of file <a class="el" href="_type_loader_8cpp_source.xhtml">TypeLoader.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="benchmark_2_c_l_2_depthwise_convolution_layer_8cpp_source.xhtml#l00042">arm_compute::test::benchmark::data_types</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>, and <a class="el" href="_utility_8h_source.xhtml#l00202">arm_compute::utility::tolower()</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>  <span class="keyword">static</span> <span class="keyword">const</span> std::map<std::string, arm_compute::DataType> <a class="code" href="namespacearm__compute_1_1test_1_1benchmark.xhtml#aab9a2ff74a27ae837d32a79a38952228">data_types</a> =</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="stringliteral">"f16"</span>, DataType::F16 },</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  { <span class="stringliteral">"f32"</span>, DataType::F32 },</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  { <span class="stringliteral">"qasymm8"</span>, DataType::QASYMM8 },</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> </div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="keywordflow">try</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  {</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="keywordflow">return</span> data_types.at(<a class="code" href="namespacearm__compute_1_1utility.xhtml#abb96ad5c7071ec3a47ea5f07e817a636">arm_compute::utility::tolower</a>(name));</div><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">catch</span>(<span class="keyword">const</span> std::out_of_range &)</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">throw</span> std::invalid_argument(name);</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> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1benchmark_xhtml_aab9a2ff74a27ae837d32a79a38952228"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1benchmark.xhtml#aab9a2ff74a27ae837d32a79a38952228">arm_compute::test::benchmark::data_types</a></div><div class="ttdeci">const auto data_types</div><div class="ttdef"><b>Definition:</b> <a href="benchmark_2_c_l_2_depthwise_convolution_layer_8cpp_source.xhtml#l00042">DepthwiseConvolutionLayer.cpp:42</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1utility_xhtml_abb96ad5c7071ec3a47ea5f07e817a636"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#abb96ad5c7071ec3a47ea5f07e817a636">arm_compute::utility::tolower</a></div><div class="ttdeci">std::string tolower(std::string string)</div><div class="ttdoc">Convert string to lower case. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00202">Utility.h:202</a></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>  <span class="keyword">static</span> <span class="keyword">const</span> std::map<std::string, arm_compute::DataType> <a class="code" href="namespacearm__compute_1_1test_1_1benchmark.xhtml#aab9a2ff74a27ae837d32a79a38952228">data_types</a> =</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="stringliteral">"f16"</span>, DataType::F16 },</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  { <span class="stringliteral">"f32"</span>, DataType::F32 },</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  { <span class="stringliteral">"qasymm8"</span>, DataType::QASYMM8 },</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> </div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#ifndef ARM_COMPUTE_EXCEPTIONS_DISABLED</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <span class="keywordflow">try</span></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="preprocessor">#endif </span><span class="comment">/* ARM_COMPUTE_EXCEPTIONS_DISABLED */</span><span class="preprocessor"></span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1benchmark.xhtml#aab9a2ff74a27ae837d32a79a38952228">data_types</a>.at(<a class="code" href="namespacearm__compute_1_1utility.xhtml#abb96ad5c7071ec3a47ea5f07e817a636">arm_compute::utility::tolower</a>(name));</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="preprocessor">#ifndef ARM_COMPUTE_EXCEPTIONS_DISABLED</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>  <span class="keywordflow">catch</span>(<span class="keyword">const</span> std::out_of_range &)</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">throw</span> std::invalid_argument(name);</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> <span class="preprocessor">#endif </span><span class="comment">/* ARM_COMPUTE_EXCEPTIONS_DISABLED */</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1benchmark_xhtml_aab9a2ff74a27ae837d32a79a38952228"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1benchmark.xhtml#aab9a2ff74a27ae837d32a79a38952228">arm_compute::test::benchmark::data_types</a></div><div class="ttdeci">const auto data_types</div><div class="ttdef"><b>Definition:</b> <a href="benchmark_2_c_l_2_depthwise_convolution_layer_8cpp_source.xhtml#l00042">DepthwiseConvolutionLayer.cpp:42</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1utility_xhtml_abb96ad5c7071ec3a47ea5f07e817a636"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#abb96ad5c7071ec3a47ea5f07e817a636">arm_compute::utility::tolower</a></div><div class="ttdeci">std::string tolower(std::string string)</div><div class="ttdoc">Convert string to lower case.</div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00188">Utility.h:188</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="benchmark_2_c_l_2_depthwise_convolution_layer_8cpp_source.xhtml#l00042">arm_compute::test::benchmark::data_types</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>, and <a class="el" href="_utility_8h_source.xhtml#l00188">arm_compute::utility::tolower()</a>.</p>
+
</div>
</div>
<a id="a49d307dcc8f16084a061e1b6e8140eb7"></a>
@@ -10480,8 +11267,8 @@
<table class="params">
<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">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">stride_x</td><td>X axis input stride. </td></tr>
@@ -10491,13 +11278,13 @@
</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 class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00339">339</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
-
+<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00346">346</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
+<div class="fragment"><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>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(in_width < 1 || in_height < 1);</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(((in_width - 1) * stride_x + kernel_width) < 2 * padx);</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(((in_height - 1) * stride_y + kernel_height) < 2 * pady);</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> w = stride_x * (in_width - 1) + kernel_width - 2 * padx;</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> h = stride_y * (in_height - 1) + kernel_height - 2 * pady;</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="keywordflow">return</span> std::make_pair<unsigned int, unsigned int>(w, h);</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</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#l00337">Error.h:337</a></div></div>
+</div><!-- fragment -->
<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>.</p>
-<p class="reference">Referenced by <a class="el" href="_deconvolution_layer_node_8cpp_source.xhtml#l00052">DeconvolutionLayerNode::compute_output_descriptor()</a>, <a class="el" href="_c_l_deconvolution_layer_8cpp_source.xhtml#l00110">CLDeconvolutionLayer::configure()</a>, <a class="el" href="_n_e_deconvolution_layer_8cpp_source.xhtml#l00103">NEDeconvolutionLayer::configure()</a>, <a class="el" href="_c_l_2_deconvolution_layer_8cpp_source.xhtml#l00070">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00762">data_type_for_convolution_matrix()</a>, <a class="el" href="_c_l_deconvolution_layer_8cpp_source.xhtml#l00051">CLDeconvolutionLayer::validate()</a>, and <a class="el" href="_n_e_deconvolution_layer_8cpp_source.xhtml#l00050">NEDeconvolutionLayer::validate()</a>.</p>
-<div class="fragment"><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>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(in_width < 1 || in_height < 1);</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(((in_width - 1) * stride_x + kernel_width) < 2 * padx);</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(((in_height - 1) * stride_y + kernel_height) < 2 * pady);</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> w = stride_x * (in_width - 1) + kernel_width - 2 * padx;</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> h = stride_y * (in_height - 1) + kernel_height - 2 * pady;</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>  <span class="keywordflow">return</span> std::make_pair<unsigned int, unsigned int>(w, h);</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</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#l00337">Error.h:337</a></div></div>
-</div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="_deconvolution_layer_node_8cpp_source.xhtml#l00052">DeconvolutionLayerNode::compute_output_descriptor()</a>, <a class="el" href="_c_l_deconvolution_layer_8cpp_source.xhtml#l00110">CLDeconvolutionLayer::configure()</a>, <a class="el" href="_n_e_deconvolution_layer_8cpp_source.xhtml#l00103">NEDeconvolutionLayer::configure()</a>, <a class="el" href="_n_e_o_n_2_deconvolution_layer_8cpp_source.xhtml#l00066">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_c_l_deconvolution_layer_8cpp_source.xhtml#l00051">CLDeconvolutionLayer::validate()</a>, and <a class="el" href="_n_e_deconvolution_layer_8cpp_source.xhtml#l00050">NEDeconvolutionLayer::validate()</a>.</p>
+
</div>
</div>
<a id="ad656a27ce8a507e31096ca45683ba9a5"></a>
@@ -10561,12 +11348,93 @@
<dl class="section return"><dt>Returns</dt><dd>The bilinear interpolated pixel value </dd></dl>
<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00127">127</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="l00128"></a><span class="lineno"> 128</span> {</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</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="l00130"></a><span class="lineno"> 130</span> </div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> dx1 = 1.0f - dx;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> dy1 = 1.0f - dy;</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="keyword">const</span> T a00 = *pixel_ptr;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keyword">const</span> T a01 = *(pixel_ptr + 1);</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keyword">const</span> T a10 = *(pixel_ptr + stride);</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keyword">const</span> T a11 = *(pixel_ptr + stride + 1);</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="keyword">const</span> <span class="keywordtype">float</span> w1 = dx1 * dy1;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> w2 = dx * dy1;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> w3 = dx1 * dy;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> w4 = dx * 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> static_cast<T>(a00 * w1 + a01 * w2 + a10 * w3 + a11 * w4);</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</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#l00337">Error.h:337</a></div></div>
+</div><!-- fragment -->
<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>.</p>
-<p class="reference">Referenced by <a class="el" href="_n_e_scale_kernel_8cpp_source.xhtml#l00285">NEScaleKernel::configure()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00210">pixel_bilinear_c1()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00237">pixel_bilinear_c1_clamp()</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>  <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="l00130"></a><span class="lineno"> 130</span> </div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> dx1 = 1.0f - dx;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> dy1 = 1.0f - dy;</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="keyword">const</span> T a00 = *pixel_ptr;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keyword">const</span> T a01 = *(pixel_ptr + 1);</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keyword">const</span> T a10 = *(pixel_ptr + stride);</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keyword">const</span> T a11 = *(pixel_ptr + stride + 1);</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="keyword">const</span> <span class="keywordtype">float</span> w1 = dx1 * dy1;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> w2 = dx * dy1;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> w3 = dx1 * dy;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> w4 = dx * 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 + a01 * w2 + a10 * w3 + a11 * w4);</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</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#l00337">Error.h:337</a></div></div>
+<p class="reference">Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00244">pixel_bilinear_c1()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00271">pixel_bilinear_c1_clamp()</a>.</p>
+
+</div>
+</div>
+<a id="ad863f23e0037a10bacad6c483ab4e663"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad863f23e0037a10bacad6c483ab4e663">◆ </a></span>delta_bilinear_c1_quantized()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint8_t arm_compute::delta_bilinear_c1_quantized </td>
+ <td>(</td>
+ <td class="paramtype">const uint8_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>dx</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 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>iq_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>oq_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>Computes bilinear interpolation for quantized input and output, using the pointer to the top-left pixel and the pixel's distance between the real coordinates and the smallest following integer coordinates. </p>
+<p>Input must be quantized and 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-left 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-left and bottom-right pixel values </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>
+ <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>
+ <tr><td class="paramdir">[in]</td><td class="paramname">iq_info</td><td>Input <a class="el" href="structarm__compute_1_1_quantization_info.xhtml" title="Quantization settings (used for QASYMM8 data type)">QuantizationInfo</a> </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">oq_info</td><td>Output <a class="el" href="structarm__compute_1_1_quantization_info.xhtml" title="Quantization settings (used for QASYMM8 data type)">QuantizationInfo</a></td></tr>
+ </table>
+ </dd>
+</dl>
+<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 class="definition">Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00161">161</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="l00162"></a><span class="lineno"> 162</span> {</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</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="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> dx1 = 1.0f - dx;</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> dy1 = 1.0f - dy;</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> a00 = iq_info.dequantize(*pixel_ptr);</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> a01 = iq_info.dequantize(*(pixel_ptr + 1));</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> a10 = iq_info.dequantize(*(pixel_ptr + stride));</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> a11 = iq_info.dequantize(*(pixel_ptr + stride + 1));</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="keyword">const</span> <span class="keywordtype">float</span> w1 = dx1 * dy1;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> w2 = dx * dy1;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> w3 = dx1 * dy;</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> w4 = dx * dy;</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <span class="keywordtype">float</span> res = a00 * w1 + a01 * w2 + a10 * w3 + a11 * w4;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="keywordflow">return</span> static_cast<uint8_t>(oq_info.quantize(res, RoundingPolicy::TO_NEAREST_UP));</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</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#l00337">Error.h:337</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00211">QuantizationInfo::dequantize()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00199">QuantizationInfo::quantize()</a>, and <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95">TO_NEAREST_UP</a>.</p>
+
</div>
</div>
<a id="a6174495b626531de015ae2b810859287"></a>
@@ -10615,13 +11483,13 @@
<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 class="definition">Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00184">184</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
-
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00218">218</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="l00219"></a><span class="lineno"> 219</span> {</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</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="l00221"></a><span class="lineno"> 221</span> </div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keyword">const</span> T a00 = *pixel_ptr;</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="keyword">const</span> T a01 = *(pixel_ptr + 1);</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="keyword">const</span> <span class="keywordtype">float</span> dx1 = 1.0f - dx;</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="keyword">const</span> <span class="keywordtype">float</span> w1 = dx1;</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> w2 = dx;</div><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> static_cast<T>(a00 * w1 + a01 * w2);</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</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#l00337">Error.h:337</a></div></div>
+</div><!-- fragment -->
<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>.</p>
-<p class="reference">Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00237">pixel_bilinear_c1_clamp()</a>.</p>
-<div class="fragment"><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>  <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="l00187"></a><span class="lineno"> 187</span> </div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="keyword">const</span> T a00 = *pixel_ptr;</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <span class="keyword">const</span> T a01 = *(pixel_ptr + 1);</div><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> <span class="keywordtype">float</span> dx1 = 1.0f - dx;</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="keyword">const</span> <span class="keywordtype">float</span> w1 = dx1;</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> w2 = dx;</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">return</span> <span class="keyword">static_cast<</span>T<span class="keyword">></span>(a00 * w1 + a01 * w2);</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</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#l00337">Error.h:337</a></div></div>
-</div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00271">pixel_bilinear_c1_clamp()</a>.</p>
+
</div>
</div>
<a id="ad5fa8bacf824e9538014bfb0dcdaab52"></a>
@@ -10677,13 +11545,13 @@
<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 class="definition">Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00159">159</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
-
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00193">193</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="l00194"></a><span class="lineno"> 194</span> {</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</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="l00196"></a><span class="lineno"> 196</span> </div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> dy1 = 1.0f - dy;</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="keyword">const</span> T a00 = *pixel_ptr;</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <span class="keyword">const</span> T a10 = *(pixel_ptr + stride);</div><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="keyword">const</span> <span class="keywordtype">float</span> w1 = dy1;</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> w3 = dy;</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>  <span class="keywordflow">return</span> static_cast<T>(a00 * w1 + a10 * w3);</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</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#l00337">Error.h:337</a></div></div>
+</div><!-- fragment -->
<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>.</p>
-<p class="reference">Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00237">pixel_bilinear_c1_clamp()</a>.</p>
-<div class="fragment"><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>  <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="l00162"></a><span class="lineno"> 162</span> </div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> dy1 = 1.0f - dy;</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> T a00 = *pixel_ptr;</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keyword">const</span> T a10 = *(pixel_ptr + stride);</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> w1 = dy1;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> w3 = dy;</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> <span class="keyword">static_cast<</span>T<span class="keyword">></span>(a00 * w1 + a10 * w3);</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</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#l00337">Error.h:337</a></div></div>
-</div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00271">pixel_bilinear_c1_clamp()</a>.</p>
+
</div>
</div>
<a id="a6c4a5ca34ebb51d4e2e119a110e4c8f0"></a>
@@ -10722,10 +11590,10 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if the extension is supported </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00183">183</a> of file <a class="el" href="_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00135">arm_non_uniform_workgroup_supported()</a>, <a class="el" href="_c_l_scheduler_8cpp_source.xhtml#l00056">CLScheduler::default_init()</a>, <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00155">dot8_acc_supported()</a>, <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00145">dot8_supported()</a>, <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00140">fp16_supported()</a>, and <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l00979">CLKernelLibrary::int64_base_atomics_supported()</a>.</p>
+<p class="definition">Definition at line <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00183">183</a> of file <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</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>  std::string extensions = device.getInfo<CL_DEVICE_EXTENSIONS>();</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keyword">auto</span> pos = extensions.find(extension_name);</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  <span class="keywordflow">return</span> (pos != std::string::npos);</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span> }</div></div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00135">arm_non_uniform_workgroup_supported()</a>, <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00155">dot8_acc_supported()</a>, <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00145">dot8_supported()</a>, <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00140">fp16_supported()</a>, and <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l01048">CLKernelLibrary::int64_base_atomics_supported()</a>.</p>
+
</div>
</div>
<a id="acac1575c0edd329ceb4a54d9fe8dcb08"></a>
@@ -10767,6 +11635,8 @@
<p class="definition">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>
<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>  <span class="keywordflow">return</span> (val + m - 1) / m;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> }</div></div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="_shape_calculator_8h_source.xhtml#l00260">arm_compute::misc::shape_calculator::compute_reshaped_depthwise_weights_shape()</a>.</p>
+
</div>
</div>
<a id="a4878daab91c6d7173de20283766e0c2c"></a>
@@ -10794,13 +11664,13 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if the extension is supported </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00155">155</a> of file <a class="el" href="_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00183">device_supports_extension()</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l00895">CLKernelLibrary::create_kernel()</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>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a6c4a5ca34ebb51d4e2e119a110e4c8f0">device_supports_extension</a>(device, <span class="stringliteral">"cl_arm_integer_dot_product_accumulate_int8"</span>);</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a6c4a5ca34ebb51d4e2e119a110e4c8f0"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c4a5ca34ebb51d4e2e119a110e4c8f0">arm_compute::device_supports_extension</a></div><div class="ttdeci">bool device_supports_extension(const cl::Device &device, const char *extension_name)</div><div class="ttdoc">Helper function to check whether a given extension is supported. </div><div class="ttdef"><b>Definition:</b> <a href="_c_l_helpers_8cpp_source.xhtml#l00183">CLHelpers.cpp:183</a></div></div>
+<p class="definition">Definition at line <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00155">155</a> of file <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</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>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a6c4a5ca34ebb51d4e2e119a110e4c8f0">device_supports_extension</a>(device, <span class="stringliteral">"cl_arm_integer_dot_product_accumulate_int8"</span>);</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a6c4a5ca34ebb51d4e2e119a110e4c8f0"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c4a5ca34ebb51d4e2e119a110e4c8f0">arm_compute::device_supports_extension</a></div><div class="ttdeci">bool device_supports_extension(const cl::Device &device, const char *extension_name)</div><div class="ttdoc">Helper function to check whether a given extension is supported.</div><div class="ttdef"><b>Definition:</b> <a href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00183">CLHelpers.cpp:183</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00183">device_supports_extension()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l00964">CLKernelLibrary::create_kernel()</a>.</p>
+
</div>
</div>
<a id="ac07e02c0066cf540a5a2665fa7d54934"></a>
@@ -10828,15 +11698,15 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if the extension is supported </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00145">145</a> of file <a class="el" href="_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00183">device_supports_extension()</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa46ce37da51477a1af33a8810e0ed04d">G76</a>, and <a class="el" href="src_2core_2_g_p_u_target_8cpp_source.xhtml#l00127">get_target_from_name()</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00141">CLDepthwiseConvolutionLayer3x3NHWCKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_kernel_8cpp_source.xhtml#l00220">CLGEMMLowpMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_reduction_kernel_8cpp_source.xhtml#l00106">CLGEMMLowpMatrixAReductionKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_core_8cpp_source.xhtml#l00091">CLGEMMLowpMatrixMultiplyCore::configure()</a>, and <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l00895">CLKernelLibrary::create_kernel()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00146"></a><span class="lineno"> 146</span> {</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  std::string device_name = device.getInfo<CL_DEVICE_NAME>();</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> gpu_target = <a class="code" href="namespacearm__compute.xhtml#a0dc6fb54ac0bbc7bf512fe0ca7414076">get_target_from_name</a>(device_name);</div><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="comment">// SW_WORKAROUND: Workaround for DDK revision r14p0.to enable cl_arm_integer_dot_product_int8</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  std::set<GPUTarget> sw_workaround_issue = {GPUTarget::G76};</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="keywordflow">return</span> (<a class="code" href="namespacearm__compute.xhtml#a6c4a5ca34ebb51d4e2e119a110e4c8f0">device_supports_extension</a>(device, <span class="stringliteral">"cl_arm_integer_dot_product_int8"</span>) || sw_workaround_issue.count(gpu_target) != 0);</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a0dc6fb54ac0bbc7bf512fe0ca7414076"><div class="ttname"><a href="namespacearm__compute.xhtml#a0dc6fb54ac0bbc7bf512fe0ca7414076">arm_compute::get_target_from_name</a></div><div class="ttdeci">GPUTarget get_target_from_name(const std::string &device_name)</div><div class="ttdoc">Helper function to get the GPU target from a device name. </div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_g_p_u_target_8cpp_source.xhtml#l00127">GPUTarget.cpp:127</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a6c4a5ca34ebb51d4e2e119a110e4c8f0"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c4a5ca34ebb51d4e2e119a110e4c8f0">arm_compute::device_supports_extension</a></div><div class="ttdeci">bool device_supports_extension(const cl::Device &device, const char *extension_name)</div><div class="ttdoc">Helper function to check whether a given extension is supported. </div><div class="ttdef"><b>Definition:</b> <a href="_c_l_helpers_8cpp_source.xhtml#l00183">CLHelpers.cpp:183</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">arm_compute::GPUTarget</a></div><div class="ttdeci">GPUTarget</div><div class="ttdoc">Available GPU Targets. </div><div class="ttdef"><b>Definition:</b> <a href="_g_p_u_target_8h_source.xhtml#l00034">GPUTarget.h:34</a></div></div>
+<p class="definition">Definition at line <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00145">145</a> of file <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00146"></a><span class="lineno"> 146</span> {</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  std::string device_name = device.getInfo<CL_DEVICE_NAME>();</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> gpu_target = <a class="code" href="namespacearm__compute.xhtml#a0dc6fb54ac0bbc7bf512fe0ca7414076">get_target_from_name</a>(device_name);</div><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="comment">// SW_WORKAROUND: Workaround for DDK revision r14p0.to enable cl_arm_integer_dot_product_int8</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  std::set<GPUTarget> sw_workaround_issue = { GPUTarget::G76 };</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="keywordflow">return</span> (<a class="code" href="namespacearm__compute.xhtml#a6c4a5ca34ebb51d4e2e119a110e4c8f0">device_supports_extension</a>(device, <span class="stringliteral">"cl_arm_integer_dot_product_int8"</span>) || sw_workaround_issue.count(gpu_target) != 0);</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a0dc6fb54ac0bbc7bf512fe0ca7414076"><div class="ttname"><a href="namespacearm__compute.xhtml#a0dc6fb54ac0bbc7bf512fe0ca7414076">arm_compute::get_target_from_name</a></div><div class="ttdeci">GPUTarget get_target_from_name(const std::string &device_name)</div><div class="ttdoc">Helper function to get the GPU target from a device name.</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_g_p_u_target_8cpp_source.xhtml#l00127">GPUTarget.cpp:127</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a6c4a5ca34ebb51d4e2e119a110e4c8f0"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c4a5ca34ebb51d4e2e119a110e4c8f0">arm_compute::device_supports_extension</a></div><div class="ttdeci">bool device_supports_extension(const cl::Device &device, const char *extension_name)</div><div class="ttdoc">Helper function to check whether a given extension is supported.</div><div class="ttdef"><b>Definition:</b> <a href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00183">CLHelpers.cpp:183</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">arm_compute::GPUTarget</a></div><div class="ttdeci">GPUTarget</div><div class="ttdoc">Available GPU Targets.</div><div class="ttdef"><b>Definition:</b> <a href="_g_p_u_target_8h_source.xhtml#l00034">GPUTarget.h:34</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00183">device_supports_extension()</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa46ce37da51477a1af33a8810e0ed04d">G76</a>, and <a class="el" href="src_2core_2_g_p_u_target_8cpp_source.xhtml#l00127">get_target_from_name()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00168">CLDepthwiseConvolutionLayer3x3NHWCKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_reshaped_kernel_8cpp_source.xhtml#l00172">CLGEMMLowpMatrixMultiplyReshapedKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_kernel_8cpp_source.xhtml#l00234">CLGEMMLowpMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_reduction_kernel_8cpp_source.xhtml#l00106">CLGEMMLowpMatrixAReductionKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_8cpp_source.xhtml#l00047">CLDepthwiseConvolutionLayer3x3::configure()</a>, <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l00964">CLKernelLibrary::create_kernel()</a>, and <a class="el" href="_c_l_depthwise_convolution_layer_8cpp_source.xhtml#l00128">CLDepthwiseConvolutionLayer3x3::validate()</a>.</p>
+
</div>
</div>
<a id="a34b06c0cd94808a77b697e79880b84b0"></a>
@@ -10873,12 +11743,12 @@
<dl class="section return"><dt>Returns</dt><dd>The size in bytes of the data type </dd></dl>
<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00180">180</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="l00181"></a><span class="lineno"> 181</span> {</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <span class="keywordflow">switch</span>(dt)</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>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</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="l00198"></a><span class="lineno"> 198</span>  <span class="keywordflow">return</span> 0;</div><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> }</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#l00261">Error.h:261</a></div></div>
+</div><!-- fragment -->
<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">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#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 class="reference">Referenced by <a class="el" href="_c_l_direct_convolution_output_stage_kernel_8cpp_source.xhtml#l00129">CLDirectConvolutionLayerOutputStageKernel::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l00877">NEGradientKernel::configure()</a>, <a class="el" href="_simple_tensor_8h_source.xhtml#l00327">SimpleTensor< uint8_t >::element_size()</a>, <a class="el" href="_n_e_non_maxima_suppression3x3_kernel_8cpp_source.xhtml#l00498">NENonMaximaSuppression3x3Kernel::run()</a>, <a class="el" href="_n_e_harris_corners_kernel_8cpp_source.xhtml#l00709">NEHarrisScoreKernel< block_size >::run()</a>, and <a class="el" href="_validation_8cpp_source.xhtml#l00177">arm_compute::test::validation::validate()</a>.</p>
-<div class="fragment"><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">switch</span>(dt)</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>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</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="l00198"></a><span class="lineno"> 198</span>  <span class="keywordflow">return</span> 0;</div><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> }</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#l00261">Error.h:261</a></div></div>
-</div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="_c_l_direct_convolution_output_stage_kernel_8cpp_source.xhtml#l00129">CLDirectConvolutionLayerOutputStageKernel::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l00877">NEGradientKernel::configure()</a>, <a class="el" href="reference_2_depth_convert_layer_8cpp_source.xhtml#l00042">arm_compute::test::validation::reference::depth_convert()</a>, <a class="el" href="_simple_tensor_8h_source.xhtml#l00327">SimpleTensor< uint8_t >::element_size()</a>, <a class="el" href="_n_e_non_maxima_suppression3x3_kernel_8cpp_source.xhtml#l00498">NENonMaximaSuppression3x3Kernel::run()</a>, <a class="el" href="_n_e_harris_corners_kernel_8cpp_source.xhtml#l00709">NEHarrisScoreKernel< block_size >::run()</a>, and <a class="el" href="_validation_8cpp_source.xhtml#l00177">arm_compute::test::validation::validate()</a>.</p>
+
</div>
</div>
<a id="a5c7c5fe99682f92e5e09cf62fb02ac91"></a>
@@ -10919,8 +11789,8 @@
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">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>
@@ -10928,22 +11798,22 @@
<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 class="definition">Definition at line <a class="el" href="_i_g_c_kernel_8cpp_source.xhtml#l00041">41</a> of file <a class="el" href="_i_g_c_kernel_8cpp_source.xhtml">IGCKernel.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON_MSG</a>, <a class="el" href="_open_g_l_e_s_8h_source.xhtml#l00045">ARM_COMPUTE_GL_CHECK</a>, <a class="el" href="_error_8h_source.xhtml#l00160">ARM_COMPUTE_UNUSED</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_g_c_kernel_library_8h_source.xhtml#l00121">GCKernel::get_program()</a>, <a class="el" href="_open_g_l_e_s_8cpp_source.xhtml#l00542">glDispatchCompute()</a>, <a class="el" href="_i_g_c_kernel_8cpp_source.xhtml#l00069">IGCKernel::kernel()</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_8h_source.xhtml#l00136">Window::x()</a>, <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>, and <a class="el" href="_window_8h_source.xhtml#l00154">Window::z()</a>.</p>
<div class="fragment"><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> {</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <a class="code" href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(kernel);</div><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>(kernel.<a class="code" href="classarm__compute_1_1_i_g_c_kernel.xhtml#a3b8f9d088e013cfbb039fd0ebbe42589">kernel</a>().<a class="code" href="classarm__compute_1_1_g_c_kernel.xhtml#af88e933209c9201dfdafa052d3181aac">get_program</a>() == 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>  <span class="keywordflow">return</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> </div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>((0 == (window.<a class="code" href="classarm__compute_1_1_window.xhtml#a273fd2ecdd45169b2f702f01a7e5e382">x</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a0f590bfcf19110f44efc502e7b5c1d9e">end</a>() - window.<a class="code" href="classarm__compute_1_1_window.xhtml#a273fd2ecdd45169b2f702f01a7e5e382">x</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#ab24e31d1a4830bf79564ee902ec6c060">start</a>())) || (0 == (window.<a class="code" href="classarm__compute_1_1_window.xhtml#a1b522b073f3ca32d24eb4e03495ef8a6">y</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a0f590bfcf19110f44efc502e7b5c1d9e">end</a>() - window.<a class="code" href="classarm__compute_1_1_window.xhtml#a1b522b073f3ca32d24eb4e03495ef8a6">y</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#ab24e31d1a4830bf79564ee902ec6c060">start</a>())));</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>  <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>((((window.<a class="code" href="classarm__compute_1_1_window.xhtml#a273fd2ecdd45169b2f702f01a7e5e382">x</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a0f590bfcf19110f44efc502e7b5c1d9e">end</a>() - window.<a class="code" href="classarm__compute_1_1_window.xhtml#a273fd2ecdd45169b2f702f01a7e5e382">x</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#ab24e31d1a4830bf79564ee902ec6c060">start</a>()) % (window.<a class="code" href="classarm__compute_1_1_window.xhtml#a273fd2ecdd45169b2f702f01a7e5e382">x</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a918580dc9188825d67dbb203a43d02fe">step</a>() * lws[0])) != 0),</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="stringliteral">"window x end =%d, start=%d, step=%d, lws x=%d"</span>, window.<a class="code" href="classarm__compute_1_1_window.xhtml#a273fd2ecdd45169b2f702f01a7e5e382">x</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a0f590bfcf19110f44efc502e7b5c1d9e">end</a>(), window.<a class="code" href="classarm__compute_1_1_window.xhtml#a273fd2ecdd45169b2f702f01a7e5e382">x</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#ab24e31d1a4830bf79564ee902ec6c060">start</a>(), window.<a class="code" href="classarm__compute_1_1_window.xhtml#a273fd2ecdd45169b2f702f01a7e5e382">x</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a918580dc9188825d67dbb203a43d02fe">step</a>(), lws[0]);</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>((((window.<a class="code" href="classarm__compute_1_1_window.xhtml#a1b522b073f3ca32d24eb4e03495ef8a6">y</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a0f590bfcf19110f44efc502e7b5c1d9e">end</a>() - window.<a class="code" href="classarm__compute_1_1_window.xhtml#a1b522b073f3ca32d24eb4e03495ef8a6">y</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#ab24e31d1a4830bf79564ee902ec6c060">start</a>()) % (window.<a class="code" href="classarm__compute_1_1_window.xhtml#a1b522b073f3ca32d24eb4e03495ef8a6">y</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a918580dc9188825d67dbb203a43d02fe">step</a>() * lws[1])) != 0),</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="stringliteral">"window y end =%d, start=%d, step=%d, lws y=%d"</span>, window.<a class="code" href="classarm__compute_1_1_window.xhtml#a1b522b073f3ca32d24eb4e03495ef8a6">y</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a0f590bfcf19110f44efc502e7b5c1d9e">end</a>(), window.<a class="code" href="classarm__compute_1_1_window.xhtml#a1b522b073f3ca32d24eb4e03495ef8a6">y</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#ab24e31d1a4830bf79564ee902ec6c060">start</a>(), window.<a class="code" href="classarm__compute_1_1_window.xhtml#a1b522b073f3ca32d24eb4e03495ef8a6">y</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a918580dc9188825d67dbb203a43d02fe">step</a>(), lws[1]);</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>((((window.<a class="code" href="classarm__compute_1_1_window.xhtml#a51a8c7a9d2fa20943c213e85eb8d9caf">z</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a0f590bfcf19110f44efc502e7b5c1d9e">end</a>() - window.<a class="code" href="classarm__compute_1_1_window.xhtml#a51a8c7a9d2fa20943c213e85eb8d9caf">z</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#ab24e31d1a4830bf79564ee902ec6c060">start</a>()) % (window.<a class="code" href="classarm__compute_1_1_window.xhtml#a51a8c7a9d2fa20943c213e85eb8d9caf">z</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a918580dc9188825d67dbb203a43d02fe">step</a>() * lws[2])) != 0),</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="stringliteral">"window z end =%d, start=%d, step=%d, lws z=%d"</span>, window.<a class="code" href="classarm__compute_1_1_window.xhtml#a51a8c7a9d2fa20943c213e85eb8d9caf">z</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a0f590bfcf19110f44efc502e7b5c1d9e">end</a>(), window.<a class="code" href="classarm__compute_1_1_window.xhtml#a51a8c7a9d2fa20943c213e85eb8d9caf">z</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#ab24e31d1a4830bf79564ee902ec6c060">start</a>(), window.<a class="code" href="classarm__compute_1_1_window.xhtml#a51a8c7a9d2fa20943c213e85eb8d9caf">z</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a918580dc9188825d67dbb203a43d02fe">step</a>(), lws[2]);</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>  <a class="code" href="_open_g_l_e_s_8h.xhtml#a496c7b08ac063d996956854207366913">ARM_COMPUTE_GL_CHECK</a>(<a class="code" href="_open_g_l_e_s_8cpp.xhtml#af7682f051486a2d562206f70b2c212ab">glDispatchCompute</a>(((window.<a class="code" href="classarm__compute_1_1_window.xhtml#a273fd2ecdd45169b2f702f01a7e5e382">x</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a0f590bfcf19110f44efc502e7b5c1d9e">end</a>() - window.<a class="code" href="classarm__compute_1_1_window.xhtml#a273fd2ecdd45169b2f702f01a7e5e382">x</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#ab24e31d1a4830bf79564ee902ec6c060">start</a>()) / window.<a class="code" href="classarm__compute_1_1_window.xhtml#a273fd2ecdd45169b2f702f01a7e5e382">x</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a918580dc9188825d67dbb203a43d02fe">step</a>()) / lws[0],</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  ((window.<a class="code" href="classarm__compute_1_1_window.xhtml#a1b522b073f3ca32d24eb4e03495ef8a6">y</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a0f590bfcf19110f44efc502e7b5c1d9e">end</a>() - window.<a class="code" href="classarm__compute_1_1_window.xhtml#a1b522b073f3ca32d24eb4e03495ef8a6">y</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#ab24e31d1a4830bf79564ee902ec6c060">start</a>()) / window.<a class="code" href="classarm__compute_1_1_window.xhtml#a1b522b073f3ca32d24eb4e03495ef8a6">y</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a918580dc9188825d67dbb203a43d02fe">step</a>()) / lws[1],</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  ((window.<a class="code" href="classarm__compute_1_1_window.xhtml#a51a8c7a9d2fa20943c213e85eb8d9caf">z</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a0f590bfcf19110f44efc502e7b5c1d9e">end</a>() - window.<a class="code" href="classarm__compute_1_1_window.xhtml#a51a8c7a9d2fa20943c213e85eb8d9caf">z</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#ab24e31d1a4830bf79564ee902ec6c060">start</a>()) / window.<a class="code" href="classarm__compute_1_1_window.xhtml#a51a8c7a9d2fa20943c213e85eb8d9caf">z</a>().<a class="code" href="classarm__compute_1_1_window_1_1_dimension.xhtml#a918580dc9188825d67dbb203a43d02fe">step</a>()) / lws[2]));</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span> }</div><div class="ttc" id="_open_g_l_e_s_8h_xhtml_a496c7b08ac063d996956854207366913"><div class="ttname"><a href="_open_g_l_e_s_8h.xhtml#a496c7b08ac063d996956854207366913">ARM_COMPUTE_GL_CHECK</a></div><div class="ttdeci">#define ARM_COMPUTE_GL_CHECK(x)</div><div class="ttdef"><b>Definition:</b> <a href="_open_g_l_e_s_8h_source.xhtml#l00045">OpenGLES.h:45</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_window_1_1_dimension_xhtml_a918580dc9188825d67dbb203a43d02fe"><div class="ttname"><a href="classarm__compute_1_1_window_1_1_dimension.xhtml#a918580dc9188825d67dbb203a43d02fe">arm_compute::Window::Dimension::step</a></div><div class="ttdeci">constexpr int step() const</div><div class="ttdoc">Return the step of the dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_window_8h_source.xhtml#l00095">Window.h:95</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#l00337">Error.h:337</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_window_xhtml_a51a8c7a9d2fa20943c213e85eb8d9caf"><div class="ttname"><a href="classarm__compute_1_1_window.xhtml#a51a8c7a9d2fa20943c213e85eb8d9caf">arm_compute::Window::z</a></div><div class="ttdeci">constexpr const Dimension & z() const</div><div class="ttdoc">Alias to access the third dimension of the window. </div><div class="ttdef"><b>Definition:</b> <a href="_window_8h_source.xhtml#l00154">Window.h:154</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_i_g_c_kernel_xhtml_a3b8f9d088e013cfbb039fd0ebbe42589"><div class="ttname"><a href="classarm__compute_1_1_i_g_c_kernel.xhtml#a3b8f9d088e013cfbb039fd0ebbe42589">arm_compute::IGCKernel::kernel</a></div><div class="ttdeci">GCKernel & kernel()</div><div class="ttdoc">Returns a reference to the GLES kernel of this object. </div><div class="ttdef"><b>Definition:</b> <a href="_i_g_c_kernel_8cpp_source.xhtml#l00069">IGCKernel.cpp:69</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a6dc630a6ae9cc063b3924bcea8dee9d6"><div class="ttname"><a href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(...)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00160">Error.h:160</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_window_1_1_dimension_xhtml_a918580dc9188825d67dbb203a43d02fe"><div class="ttname"><a href="classarm__compute_1_1_window_1_1_dimension.xhtml#a918580dc9188825d67dbb203a43d02fe">arm_compute::Window::Dimension::step</a></div><div class="ttdeci">constexpr int step() const</div><div class="ttdoc">Return the step of the dimension.</div><div class="ttdef"><b>Definition:</b> <a href="_window_8h_source.xhtml#l00095">Window.h:95</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#l00337">Error.h:337</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_window_xhtml_a51a8c7a9d2fa20943c213e85eb8d9caf"><div class="ttname"><a href="classarm__compute_1_1_window.xhtml#a51a8c7a9d2fa20943c213e85eb8d9caf">arm_compute::Window::z</a></div><div class="ttdeci">constexpr const Dimension & z() const</div><div class="ttdoc">Alias to access the third dimension of the window.</div><div class="ttdef"><b>Definition:</b> <a href="_window_8h_source.xhtml#l00154">Window.h:154</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_i_g_c_kernel_xhtml_a3b8f9d088e013cfbb039fd0ebbe42589"><div class="ttname"><a href="classarm__compute_1_1_i_g_c_kernel.xhtml#a3b8f9d088e013cfbb039fd0ebbe42589">arm_compute::IGCKernel::kernel</a></div><div class="ttdeci">GCKernel & kernel()</div><div class="ttdoc">Returns a reference to the GLES kernel of this object.</div><div class="ttdef"><b>Definition:</b> <a href="_i_g_c_kernel_8cpp_source.xhtml#l00069">IGCKernel.cpp:69</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a6dc630a6ae9cc063b3924bcea8dee9d6"><div class="ttname"><a href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(...)</div><div class="ttdoc">To avoid unused variables warnings.</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00160">Error.h:160</a></div></div>
<div class="ttc" id="_open_g_l_e_s_8cpp_xhtml_af7682f051486a2d562206f70b2c212ab"><div class="ttname"><a href="_open_g_l_e_s_8cpp.xhtml#af7682f051486a2d562206f70b2c212ab">glDispatchCompute</a></div><div class="ttdeci">void GL_APIENTRY glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z)</div><div class="ttdef"><b>Definition:</b> <a href="_open_g_l_e_s_8cpp_source.xhtml#l00542">OpenGLES.cpp:542</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_g_c_kernel_xhtml_af88e933209c9201dfdafa052d3181aac"><div class="ttname"><a href="classarm__compute_1_1_g_c_kernel.xhtml#af88e933209c9201dfdafa052d3181aac">arm_compute::GCKernel::get_program</a></div><div class="ttdeci">GLuint get_program() const</div><div class="ttdoc">Get program id. </div><div class="ttdef"><b>Definition:</b> <a href="_g_c_kernel_library_8h_source.xhtml#l00121">GCKernelLibrary.h:121</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_window_xhtml_a1b522b073f3ca32d24eb4e03495ef8a6"><div class="ttname"><a href="classarm__compute_1_1_window.xhtml#a1b522b073f3ca32d24eb4e03495ef8a6">arm_compute::Window::y</a></div><div class="ttdeci">constexpr const Dimension & y() const</div><div class="ttdoc">Alias to access the second dimension of the window. </div><div class="ttdef"><b>Definition:</b> <a href="_window_8h_source.xhtml#l00145">Window.h:145</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_window_1_1_dimension_xhtml_a0f590bfcf19110f44efc502e7b5c1d9e"><div class="ttname"><a href="classarm__compute_1_1_window_1_1_dimension.xhtml#a0f590bfcf19110f44efc502e7b5c1d9e">arm_compute::Window::Dimension::end</a></div><div class="ttdeci">constexpr int end() const</div><div class="ttdoc">Return the end of the dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_window_8h_source.xhtml#l00090">Window.h:90</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_window_1_1_dimension_xhtml_ab24e31d1a4830bf79564ee902ec6c060"><div class="ttname"><a href="classarm__compute_1_1_window_1_1_dimension.xhtml#ab24e31d1a4830bf79564ee902ec6c060">arm_compute::Window::Dimension::start</a></div><div class="ttdeci">constexpr int start() const</div><div class="ttdoc">Return the start of the dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_window_8h_source.xhtml#l00085">Window.h:85</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_window_xhtml_a273fd2ecdd45169b2f702f01a7e5e382"><div class="ttname"><a href="classarm__compute_1_1_window.xhtml#a273fd2ecdd45169b2f702f01a7e5e382">arm_compute::Window::x</a></div><div class="ttdeci">constexpr const Dimension & x() const</div><div class="ttdoc">Alias to access the first dimension of the window. </div><div class="ttdef"><b>Definition:</b> <a href="_window_8h_source.xhtml#l00136">Window.h:136</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_g_c_kernel_xhtml_af88e933209c9201dfdafa052d3181aac"><div class="ttname"><a href="classarm__compute_1_1_g_c_kernel.xhtml#af88e933209c9201dfdafa052d3181aac">arm_compute::GCKernel::get_program</a></div><div class="ttdeci">GLuint get_program() const</div><div class="ttdoc">Get program id.</div><div class="ttdef"><b>Definition:</b> <a href="_g_c_kernel_library_8h_source.xhtml#l00121">GCKernelLibrary.h:121</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_window_xhtml_a1b522b073f3ca32d24eb4e03495ef8a6"><div class="ttname"><a href="classarm__compute_1_1_window.xhtml#a1b522b073f3ca32d24eb4e03495ef8a6">arm_compute::Window::y</a></div><div class="ttdeci">constexpr const Dimension & y() const</div><div class="ttdoc">Alias to access the second dimension of the window.</div><div class="ttdef"><b>Definition:</b> <a href="_window_8h_source.xhtml#l00145">Window.h:145</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_window_1_1_dimension_xhtml_a0f590bfcf19110f44efc502e7b5c1d9e"><div class="ttname"><a href="classarm__compute_1_1_window_1_1_dimension.xhtml#a0f590bfcf19110f44efc502e7b5c1d9e">arm_compute::Window::Dimension::end</a></div><div class="ttdeci">constexpr int end() const</div><div class="ttdoc">Return the end of the dimension.</div><div class="ttdef"><b>Definition:</b> <a href="_window_8h_source.xhtml#l00090">Window.h:90</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_window_1_1_dimension_xhtml_ab24e31d1a4830bf79564ee902ec6c060"><div class="ttname"><a href="classarm__compute_1_1_window_1_1_dimension.xhtml#ab24e31d1a4830bf79564ee902ec6c060">arm_compute::Window::Dimension::start</a></div><div class="ttdeci">constexpr int start() const</div><div class="ttdoc">Return the start of the dimension.</div><div class="ttdef"><b>Definition:</b> <a href="_window_8h_source.xhtml#l00085">Window.h:85</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_window_xhtml_a273fd2ecdd45169b2f702f01a7e5e382"><div class="ttname"><a href="classarm__compute_1_1_window.xhtml#a273fd2ecdd45169b2f702f01a7e5e382">arm_compute::Window::x</a></div><div class="ttdeci">constexpr const Dimension & x() const</div><div class="ttdoc">Alias to access the first dimension of the window.</div><div class="ttdef"><b>Definition:</b> <a href="_window_8h_source.xhtml#l00136">Window.h:136</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#l00328">Error.h:328</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON_MSG</a>, <a class="el" href="_open_g_l_e_s_8h_source.xhtml#l00045">ARM_COMPUTE_GL_CHECK</a>, <a class="el" href="_error_8h_source.xhtml#l00160">ARM_COMPUTE_UNUSED</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_g_c_kernel_library_8h_source.xhtml#l00121">GCKernel::get_program()</a>, <a class="el" href="_open_g_l_e_s_8cpp_source.xhtml#l00542">glDispatchCompute()</a>, <a class="el" href="_i_g_c_kernel_8cpp_source.xhtml#l00069">IGCKernel::kernel()</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_8h_source.xhtml#l00136">Window::x()</a>, <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>, and <a class="el" href="_window_8h_source.xhtml#l00154">Window::z()</a>.</p>
+
</div>
</div>
<a id="a1e48b7cf7de6a52575088cb7082d2b3e"></a>
@@ -10991,8 +11861,8 @@
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">queue</td><td>OpenCL command queue. </td></tr>
- <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">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_hint</td><td>Local workgroup size requested. Default is based on the device target.</td></tr>
</table>
</dd>
@@ -11000,14 +11870,15 @@
<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 class="definition">Definition at line <a class="el" href="_i_c_l_kernel_8cpp_source.xhtml#l00039">39</a> of file <a class="el" href="_i_c_l_kernel_8cpp_source.xhtml">ICLKernel.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_i_c_l_kernel_8cpp_source.xhtml#l00125">ICLKernel::get_max_workgroup_size()</a>, <a class="el" href="_i_c_l_kernel_8cpp_source.xhtml#l00134">ICLKernel::gws_from_window()</a>, <a class="el" href="_i_c_l_kernel_8h_source.xhtml#l00087">ICLKernel::kernel()</a>, and <a class="el" href="_dimensions_8h_source.xhtml#l00045">Dimensions< int >::num_max_dimensions</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_i_g_c_kernel_8h_source.xhtml#l00122">IGCKernel::get_target()</a>, <a class="el" href="_i_c_l_kernel_8h_source.xhtml#l00258">ICLKernel::get_target()</a>, <a class="el" href="_i_c_l_simple2_d_kernel_8cpp_source.xhtml#l00033">ICLSimple2DKernel::run()</a>, <a class="el" href="_i_g_c_simple2_d_kernel_8cpp_source.xhtml#l00033">IGCSimple2DKernel::run()</a>, <a class="el" href="_i_c_l_simple3_d_kernel_8cpp_source.xhtml#l00033">ICLSimple3DKernel::run()</a>, <a class="el" href="_i_g_c_simple3_d_kernel_8cpp_source.xhtml#l00033">IGCSimple3DKernel::run()</a>, <a class="el" href="_g_c_transpose_kernel_8cpp_source.xhtml#l00123">GCTransposeKernel::run()</a>, <a class="el" href="_g_c_scale_kernel_8cpp_source.xhtml#l00137">GCScaleKernel::run()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_accumulate_biases_kernel_8cpp_source.xhtml#l00103">GCGEMMMatrixAccumulateBiasesKernel::run()</a>, <a class="el" href="_c_l_gaussian_pyramid_kernel_8cpp_source.xhtml#l00101">CLGaussianPyramidHorKernel::run()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00083">CLGradientKernel::run()</a>, <a class="el" href="_c_l_histogram_kernel_8cpp_source.xhtml#l00113">CLHistogramKernel::run()</a>, <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00124">CLMinMaxKernel::run()</a>, <a class="el" href="_c_l_remap_kernel_8cpp_source.xhtml#l00094">CLRemapKernel::run()</a>, <a class="el" href="_c_l_bitwise_and_kernel_8cpp_source.xhtml#l00072">CLBitwiseAndKernel::run()</a>, <a class="el" href="_c_l_bitwise_or_kernel_8cpp_source.xhtml#l00073">CLBitwiseOrKernel::run()</a>, <a class="el" href="_c_l_bitwise_xor_kernel_8cpp_source.xhtml#l00073">CLBitwiseXorKernel::run()</a>, <a class="el" href="_g_c_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00101">GCPixelWiseMultiplicationKernel::run()</a>, <a class="el" href="_c_l_derivative_kernel_8cpp_source.xhtml#l00123">CLDerivativeKernel::run()</a>, <a class="el" href="_c_l_sobel3x3_kernel_8cpp_source.xhtml#l00108">CLSobel3x3Kernel::run()</a>, <a class="el" href="_g_c_activation_layer_kernel_8cpp_source.xhtml#l00104">GCActivationLayerKernel::run()</a>, <a class="el" href="_g_c_depthwise_convolution_layer3x3_kernel_8cpp_source.xhtml#l00205">GCDepthwiseConvolutionLayer3x3Kernel::run()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_addition_kernel_8cpp_source.xhtml#l00080">GCGEMMMatrixAdditionKernel::run()</a>, <a class="el" href="_c_l_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00097">CLHOGOrientationBinningKernel::run()</a>, <a class="el" href="_g_c_normalization_layer_kernel_8cpp_source.xhtml#l00098">GCNormalizationLayerKernel::run()</a>, <a class="el" href="_c_l_sobel5x5_kernel_8cpp_source.xhtml#l00108">CLSobel5x5HorKernel::run()</a>, <a class="el" href="_c_l_sobel7x7_kernel_8cpp_source.xhtml#l00111">CLSobel7x7HorKernel::run()</a>, <a class="el" href="_c_l_absolute_difference_kernel_8cpp_source.xhtml#l00087">CLAbsoluteDifferenceKernel::run()</a>, <a class="el" href="_g_c_absolute_difference_kernel_8cpp_source.xhtml#l00086">GCAbsoluteDifferenceKernel::run()</a>, <a class="el" href="_g_c_g_e_m_m_transpose1x_w_kernel_8cpp_source.xhtml#l00098">GCGEMMTranspose1xWKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_accumulate_biases_kernel_8cpp_source.xhtml#l00115">CLGEMMMatrixAccumulateBiasesKernel::run()</a>, <a class="el" href="_c_l_magnitude_phase_kernel_8cpp_source.xhtml#l00143">CLMagnitudePhaseKernel::run()</a>, <a class="el" href="_c_l_floor_kernel_8cpp_source.xhtml#l00114">CLFloorKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_vector_multiply_kernel_8cpp_source.xhtml#l00135">CLGEMMMatrixVectorMultiplyKernel::run()</a>, <a class="el" href="_c_l_copy_kernel_8cpp_source.xhtml#l00204">CLCopyKernel::run()</a>, <a class="el" href="_g_c_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00112">GCDepthConcatenateLayerKernel::run()</a>, <a class="el" href="_c_l_integral_image_kernel_8cpp_source.xhtml#l00095">CLIntegralImageVertKernel::run()</a>, <a class="el" href="_c_l_flatten_layer_kernel_8cpp_source.xhtml#l00131">CLFlattenLayerKernel::run()</a>, <a class="el" href="_c_l_channel_shuffle_layer_kernel_8cpp_source.xhtml#l00169">CLChannelShuffleLayerKernel::run()</a>, <a class="el" href="_c_l_reshape_layer_kernel_8cpp_source.xhtml#l00113">CLReshapeLayerKernel::run()</a>, <a class="el" href="_c_l_r_o_i_pooling_layer_kernel_8cpp_source.xhtml#l00107">CLROIPoolingLayerKernel::run()</a>, <a class="el" href="_c_l_memset_kernel_8cpp_source.xhtml#l00078">CLMemsetKernel::run()</a>, <a class="el" href="_c_l_normalization_layer_kernel_8cpp_source.xhtml#l00172">CLNormalizationLayerKernel::run()</a>, <a class="el" href="_c_l_permute_kernel_8cpp_source.xhtml#l00134">CLPermuteKernel::run()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00171">GCLogits1DShiftExpSumKernel::run()</a>, <a class="el" href="_c_l_locally_connected_matrix_multiply_kernel_8cpp_source.xhtml#l00129">CLLocallyConnectedMatrixMultiplyKernel::run()</a>, <a class="el" href="_g_c_dropout_layer_kernel_8cpp_source.xhtml#l00086">GCDropoutLayerKernel::run()</a>, <a class="el" href="_c_l_generate_proposals_layer_kernel_8cpp_source.xhtml#l00111">CLComputeAllAnchorsKernel::run()</a>, <a class="el" href="_c_l_fill_border_kernel_8cpp_source.xhtml#l00160">CLFillBorderKernel::run()</a>, <a class="el" href="_c_l_channel_extract_kernel_8cpp_source.xhtml#l00168">CLChannelExtractKernel::run()</a>, <a class="el" href="_c_l_upsample_layer_kernel_8cpp_source.xhtml#l00130">CLUpsampleLayerKernel::run()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_c_h_w_kernel_8cpp_source.xhtml#l00313">CLDepthwiseConvolutionLayer3x3NCHWKernel::run()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00292">CLDepthwiseConvolutionLayer3x3NHWCKernel::run()</a>, <a class="el" href="_g_c_direct_convolution_layer_kernel_8cpp_source.xhtml#l00401">GCDirectConvolutionLayerKernel< kernel_size >::run()</a>, <a class="el" href="_g_c_fill_border_kernel_8cpp_source.xhtml#l00141">GCFillBorderKernel::run()</a>, <a class="el" href="_c_l_depthwise_weights_reshape_kernel_8cpp_source.xhtml#l00107">CLDepthwiseWeightsReshapeKernel::run()</a>, <a class="el" href="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00093">CLFastCornersKernel::run()</a>, <a class="el" href="_c_l_pooling_layer_kernel_8cpp_source.xhtml#l00311">CLPoolingLayerKernel::run()</a>, <a class="el" href="_g_c_pooling_layer_kernel_8cpp_source.xhtml#l00331">GCPoolingLayerKernel::run()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00203">CLActivationLayerKernel::run()</a>, <a class="el" href="_c_l_width_concatenate2_tensors_kernel_8cpp_source.xhtml#l00134">CLWidthConcatenate2TensorsKernel::run()</a>, <a class="el" href="_c_l_deconvolution_layer_upsample_kernel_8cpp_source.xhtml#l00099">CLDeconvolutionLayerUpsampleKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_addition_kernel_8cpp_source.xhtml#l00111">CLGEMMMatrixAdditionKernel::run()</a>, <a class="el" href="_c_l_arithmetic_division_kernel_8cpp_source.xhtml#l00135">CLArithmeticDivisionKernel::run()</a>, <a class="el" href="_c_l_min_max_layer_kernel_8cpp_source.xhtml#l00141">CLMinMaxLayerKernel::run()</a>, <a class="el" href="_c_l_quantization_layer_kernel_8cpp_source.xhtml#l00110">CLQuantizationLayerKernel::run()</a>, <a class="el" href="_c_l_reorg_layer_kernel_8cpp_source.xhtml#l00124">CLReorgLayerKernel::run()</a>, <a class="el" href="_c_l_depthwise_vector_to_tensor_kernel_8cpp_source.xhtml#l00099">CLDepthwiseVectorToTensorKernel::run()</a>, <a class="el" href="_c_l_width_concatenate_layer_kernel_8cpp_source.xhtml#l00120">CLWidthConcatenateLayerKernel::run()</a>, <a class="el" href="_c_l_harris_corners_kernel_8cpp_source.xhtml#l00112">CLHarrisScoreKernel::run()</a>, <a class="el" href="_c_l_h_o_g_detector_kernel_8cpp_source.xhtml#l00116">CLHOGDetectorKernel::run()</a>, <a class="el" href="_c_l_dequantization_layer_kernel_8cpp_source.xhtml#l00110">CLDequantizationLayerKernel::run()</a>, <a class="el" href="_c_l_channel_combine_kernel_8cpp_source.xhtml#l00238">CLChannelCombineKernel::run()</a>, <a class="el" href="_c_l_prior_box_layer_kernel_8cpp_source.xhtml#l00236">CLPriorBoxLayerKernel::run()</a>, <a class="el" href="_g_c_g_e_m_m_interleave4x4_kernel_8cpp_source.xhtml#l00090">GCGEMMInterleave4x4Kernel::run()</a>, <a class="el" href="_c_l_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00160">CLNormalizePlanarYUVLayerKernel::run()</a>, <a class="el" href="_c_l_scale_kernel_8cpp_source.xhtml#l00230">CLScaleKernel::run()</a>, <a class="el" href="_c_l_convert_fully_connected_weights_kernel_8cpp_source.xhtml#l00102">CLConvertFullyConnectedWeightsKernel::run()</a>, <a class="el" href="_c_l_arithmetic_addition_kernel_8cpp_source.xhtml#l00182">CLArithmeticAdditionKernel::run()</a>, <a class="el" href="_g_c_arithmetic_addition_kernel_8cpp_source.xhtml#l00131">GCArithmeticAdditionKernel::run()</a>, <a class="el" href="_c_l_mean_std_dev_kernel_8cpp_source.xhtml#l00112">CLMeanStdDevKernel::run()</a>, <a class="el" href="_g_c_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00132">GCNormalizePlanarYUVLayerKernel::run()</a>, <a class="el" href="_c_l_scharr3x3_kernel_8cpp_source.xhtml#l00108">CLScharr3x3Kernel::run()</a>, <a class="el" href="_c_l_width_concatenate4_tensors_kernel_8cpp_source.xhtml#l00152">CLWidthConcatenate4TensorsKernel::run()</a>, <a class="el" href="_c_l_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00140">CLDepthConcatenateLayerKernel::run()</a>, <a class="el" href="_g_c_tensor_shift_kernel_8cpp_source.xhtml#l00077">GCTensorShiftKernel::run()</a>, <a class="el" href="_c_l_arithmetic_subtraction_kernel_8cpp_source.xhtml#l00180">CLArithmeticSubtractionKernel::run()</a>, <a class="el" href="_c_l_reduction_operation_kernel_8cpp_source.xhtml#l00222">CLReductionOperationKernel::run()</a>, <a class="el" href="_c_l_bounding_box_transform_kernel_8cpp_source.xhtml#l00115">CLBoundingBoxTransformKernel::run()</a>, <a class="el" href="_c_l_direct_convolution_output_stage_kernel_8cpp_source.xhtml#l00182">CLDirectConvolutionLayerOutputStageKernel::run()</a>, <a class="el" href="_c_l_l2_normalize_layer_kernel_8cpp_source.xhtml#l00158">CLL2NormalizeLayerKernel::run()</a>, <a class="el" href="_c_l_y_o_l_o_layer_kernel_8cpp_source.xhtml#l00161">CLYOLOLayerKernel::run()</a>, <a class="el" href="_c_l_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00230">CLPixelWiseMultiplicationKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_kernel_8cpp_source.xhtml#l00322">CLGEMMLowpMatrixMultiplyKernel::run()</a>, <a class="el" href="_c_l_depthwise_im2_col_kernel_8cpp_source.xhtml#l00114">CLDepthwiseIm2ColKernel::run()</a>, <a class="el" href="_g_c_weights_reshape_kernel_8cpp_source.xhtml#l00101">GCWeightsReshapeKernel::run()</a>, <a class="el" href="_c_l_color_convert_kernel_8cpp_source.xhtml#l00384">CLColorConvertKernel::run()</a>, <a class="el" href="_c_l_r_o_i_align_layer_kernel_8cpp_source.xhtml#l00131">CLROIAlignLayerKernel::run()</a>, <a class="el" href="_g_c_col2_im_kernel_8cpp_source.xhtml#l00097">GCCol2ImKernel::run()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00303">GCGEMMMatrixMultiplyKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00382">CLGEMMMatrixMultiplyKernel::run()</a>, <a class="el" href="_g_c_im2_col_kernel_8cpp_source.xhtml#l00221">GCIm2ColKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_reduction_kernel_8cpp_source.xhtml#l00140">CLGEMMLowpMatrixAReductionKernel::run()</a>, <a class="el" href="_c_l_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00182">CLFuseBatchNormalizationKernel::run()</a>, <a class="el" href="_g_c_batch_normalization_layer_kernel_8cpp_source.xhtml#l00205">GCBatchNormalizationLayerKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_interleave4x4_kernel_8cpp_source.xhtml#l00185">CLGEMMInterleave4x4Kernel::run()</a>, <a class="el" href="_c_l_batch_to_space_layer_kernel_8cpp_source.xhtml#l00149">CLBatchToSpaceLayerKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_float_kernel_8cpp_source.xhtml#l00152">CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFloatKernel::run()</a>, <a class="el" href="_c_l_winograd_input_transform_kernel_8cpp_source.xhtml#l00227">CLWinogradInputTransformKernel::run()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00503">CLDirectConvolutionLayerKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point_kernel_8cpp_source.xhtml#l00155">CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_kernel_8cpp_source.xhtml#l00151">CLGEMMLowpQuantizeDownInt32ToUint8ScaleKernel::run()</a>, <a class="el" href="_c_l_col2_im_kernel_8cpp_source.xhtml#l00141">CLCol2ImKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_transpose1x_w_kernel_8cpp_source.xhtml#l00141">CLGEMMTranspose1xWKernel::run()</a>, <a class="el" href="_c_l_winograd_filter_transform_kernel_8cpp_source.xhtml#l00141">CLWinogradFilterTransformKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_offset_contribution_output_stage_kernel_8cpp_source.xhtml#l00258">CLGEMMLowpOffsetContributionOutputStageKernel::run()</a>, <a class="el" href="_c_l_batch_normalization_layer_kernel_8cpp_source.xhtml#l00223">CLBatchNormalizationLayerKernel::run()</a>, <a class="el" href="_c_l_strided_slice_kernel_8cpp_source.xhtml#l00187">CLStridedSliceKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_offset_contribution_kernel_8cpp_source.xhtml#l00219">CLGEMMLowpOffsetContributionKernel::run()</a>, <a class="el" href="_c_l_histogram_kernel_8cpp_source.xhtml#l00204">CLHistogramBorderKernel::run()</a>, <a class="el" href="_c_l_gaussian_pyramid_kernel_8cpp_source.xhtml#l00183">CLGaussianPyramidVertKernel::run()</a>, <a class="el" href="_c_l_winograd_output_transform_kernel_8cpp_source.xhtml#l00206">CLWinogradOutputTransformKernel::run()</a>, <a class="el" href="_c_l_space_to_batch_layer_kernel_8cpp_source.xhtml#l00160">CLSpaceToBatchLayerKernel::run()</a>, <a class="el" href="_c_l_l_k_tracker_kernel_8cpp_source.xhtml#l00081">CLLKTrackerInitKernel::run()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00151">CLEdgeNonMaxSuppressionKernel::run()</a>, <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00215">CLMinMaxLocationKernel::run()</a>, <a class="el" href="_c_l_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00180">CLHOGBlockNormalizationKernel::run()</a>, <a class="el" href="_c_l_weights_reshape_kernel_8cpp_source.xhtml#l00118">CLWeightsReshapeKernel::run()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00249">GCLogits1DNormKernel::run()</a>, <a class="el" href="_c_l_im2_col_kernel_8cpp_source.xhtml#l00347">CLIm2ColKernel::run()</a>, <a class="el" href="_c_l_sobel5x5_kernel_8cpp_source.xhtml#l00207">CLSobel5x5VertKernel::run()</a>, <a class="el" href="_c_l_sobel7x7_kernel_8cpp_source.xhtml#l00210">CLSobel7x7VertKernel::run()</a>, <a class="el" href="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00154">CLCopyToArrayKernel::run()</a>, <a class="el" href="_c_l_l_k_tracker_kernel_8cpp_source.xhtml#l00110">CLLKTrackerFinalizeKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_reduction_kernel_8cpp_source.xhtml#l00194">CLGEMMLowpMatrixBReductionKernel::run()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00236">CLEdgeTraceKernel::run()</a>, <a class="el" href="_c_l_l_k_tracker_kernel_8cpp_source.xhtml#l00194">CLLKTrackerStage0Kernel::run()</a>, <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00298">CLLogits1DMaxShiftExpSumKernel::run()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00304">CLConvolutionRectangleKernel::run()</a>, <a class="el" href="_c_l_l_k_tracker_kernel_8cpp_source.xhtml#l00278">CLLKTrackerStage1Kernel::run()</a>, and <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00379">CLLogits1DNormKernel::run()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> {</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="keywordflow">if</span>(kernel.<a class="code" href="classarm__compute_1_1_i_c_l_kernel.xhtml#ae5121015ab09ece4d470f50c7ffe198e">kernel</a>()() == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  {</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="keywordflow">return</span>;</div><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> </div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < Coordinates::num_max_dimensions; ++i)</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>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(window[i].step() == 0);</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="comment">// Make sure that dimensions > Z are 1</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>((i >= 3) && ((window[i].end() - window[i].start()) != 1));</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>  cl::NDRange gws = ICLKernel::gws_from_window(window);</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="comment">// Check for empty NDRange</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keywordflow">if</span>(gws.dimensions() == 0)</div><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>  <span class="keywordflow">return</span>;</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> </div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  cl::NDRange valid_lws;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keywordflow">if</span>(lws_hint[0] * lws_hint[1] * lws_hint[2] > kernel.<a class="code" href="classarm__compute_1_1_i_c_l_kernel.xhtml#abca336f832d730e8494049bd714df60a">get_max_workgroup_size</a>())</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>  valid_lws = cl::NullRange;</div><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>  <span class="keywordflow">else</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  {</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  valid_lws = lws_hint;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  }</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  cl::NDRange lws = cl::NullRange;</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">if</span>((valid_lws[0] <= gws[0]) && (valid_lws[1] <= gws[1]) && (valid_lws[2] <= gws[2]))</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>  lws = valid_lws;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  }</div><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>  queue.enqueueNDRangeKernel(kernel.<a class="code" href="classarm__compute_1_1_i_c_l_kernel.xhtml#ae5121015ab09ece4d470f50c7ffe198e">kernel</a>(), cl::NullRange, gws, lws);</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span> }</div><div class="ttc" id="classarm__compute_1_1_i_c_l_kernel_xhtml_ae5121015ab09ece4d470f50c7ffe198e"><div class="ttname"><a href="classarm__compute_1_1_i_c_l_kernel.xhtml#ae5121015ab09ece4d470f50c7ffe198e">arm_compute::ICLKernel::kernel</a></div><div class="ttdeci">cl::Kernel & kernel()</div><div class="ttdoc">Returns a reference to the OpenCL kernel of this object. </div><div class="ttdef"><b>Definition:</b> <a href="_i_c_l_kernel_8h_source.xhtml#l00087">ICLKernel.h:87</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#l00337">Error.h:337</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_i_c_l_kernel_xhtml_abca336f832d730e8494049bd714df60a"><div class="ttname"><a href="classarm__compute_1_1_i_c_l_kernel.xhtml#abca336f832d730e8494049bd714df60a">arm_compute::ICLKernel::get_max_workgroup_size</a></div><div class="ttdeci">size_t get_max_workgroup_size()</div><div class="ttdoc">Get the maximum workgroup size for the device the CLKernelLibrary uses. </div><div class="ttdef"><b>Definition:</b> <a href="_i_c_l_kernel_8cpp_source.xhtml#l00125">ICLKernel.cpp:125</a></div></div>
+<div class="fragment"><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> {</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="keywordflow">if</span>(kernel.<a class="code" href="classarm__compute_1_1_i_c_l_kernel.xhtml#ae5121015ab09ece4d470f50c7ffe198e">kernel</a>()() == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  {</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="keywordflow">return</span>;</div><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> </div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < Coordinates::num_max_dimensions; ++i)</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>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(window[i].<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a75b73e17c4ebe901e44af3b2b9846ab3">step</a>() == 0);</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="comment">// Make sure that dimensions > Z are 1</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>((i >= 3) && ((window[i].end() - window[i].start()) != 1));</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>  cl::NDRange gws = ICLKernel::gws_from_window(window);</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="comment">// Check for empty NDRange</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keywordflow">if</span>(gws.dimensions() == 0)</div><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>  <span class="keywordflow">return</span>;</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> </div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  cl::NDRange valid_lws;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keywordflow">if</span>(lws_hint[0] * lws_hint[1] * lws_hint[2] > kernel.<a class="code" href="classarm__compute_1_1_i_c_l_kernel.xhtml#abca336f832d730e8494049bd714df60a">get_max_workgroup_size</a>())</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>  valid_lws = cl::NullRange;</div><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>  <span class="keywordflow">else</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  {</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  valid_lws = lws_hint;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  }</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  cl::NDRange lws = cl::NullRange;</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">if</span>((valid_lws[0] <= gws[0]) && (valid_lws[1] <= gws[1]) && (valid_lws[2] <= gws[2]))</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>  lws = valid_lws;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  }</div><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>  queue.enqueueNDRangeKernel(kernel.<a class="code" href="classarm__compute_1_1_i_c_l_kernel.xhtml#ae5121015ab09ece4d470f50c7ffe198e">kernel</a>(), cl::NullRange, gws, lws);</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span> }</div><div class="ttc" id="classarm__compute_1_1_i_c_l_kernel_xhtml_ae5121015ab09ece4d470f50c7ffe198e"><div class="ttname"><a href="classarm__compute_1_1_i_c_l_kernel.xhtml#ae5121015ab09ece4d470f50c7ffe198e">arm_compute::ICLKernel::kernel</a></div><div class="ttdeci">cl::Kernel & kernel()</div><div class="ttdoc">Returns a reference to the OpenCL kernel of this object.</div><div class="ttdef"><b>Definition:</b> <a href="_i_c_l_kernel_8h_source.xhtml#l00087">ICLKernel.h:87</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#l00337">Error.h:337</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a75b73e17c4ebe901e44af3b2b9846ab3"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a75b73e17c4ebe901e44af3b2b9846ab3">arm_compute::test::validation::step</a></div><div class="ttdeci">const int step</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_select_8cpp_source.xhtml#l00172">Select.cpp:172</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_i_c_l_kernel_xhtml_abca336f832d730e8494049bd714df60a"><div class="ttname"><a href="classarm__compute_1_1_i_c_l_kernel.xhtml#abca336f832d730e8494049bd714df60a">arm_compute::ICLKernel::get_max_workgroup_size</a></div><div class="ttdeci">size_t get_max_workgroup_size()</div><div class="ttdoc">Get the maximum workgroup size for the device the CLKernelLibrary uses.</div><div class="ttdef"><b>Definition:</b> <a href="_i_c_l_kernel_8cpp_source.xhtml#l00125">ICLKernel.cpp:125</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_i_c_l_kernel_8cpp_source.xhtml#l00125">ICLKernel::get_max_workgroup_size()</a>, <a class="el" href="_i_c_l_kernel_8cpp_source.xhtml#l00134">ICLKernel::gws_from_window()</a>, <a class="el" href="_i_c_l_kernel_8h_source.xhtml#l00087">ICLKernel::kernel()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00045">Dimensions< int >::num_max_dimensions</a>, and <a class="el" href="_c_l_2_select_8cpp_source.xhtml#l00172">arm_compute::test::validation::step</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_i_c_l_simple2_d_kernel_8cpp_source.xhtml#l00033">ICLSimple2DKernel::run()</a>, <a class="el" href="_i_g_c_simple2_d_kernel_8cpp_source.xhtml#l00033">IGCSimple2DKernel::run()</a>, <a class="el" href="_i_c_l_simple3_d_kernel_8cpp_source.xhtml#l00033">ICLSimple3DKernel::run()</a>, <a class="el" href="_i_g_c_simple3_d_kernel_8cpp_source.xhtml#l00033">IGCSimple3DKernel::run()</a>, <a class="el" href="_g_c_transpose_kernel_8cpp_source.xhtml#l00123">GCTransposeKernel::run()</a>, <a class="el" href="_g_c_scale_kernel_8cpp_source.xhtml#l00137">GCScaleKernel::run()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_accumulate_biases_kernel_8cpp_source.xhtml#l00103">GCGEMMMatrixAccumulateBiasesKernel::run()</a>, <a class="el" href="_c_l_elementwise_operation_kernel_8cpp_source.xhtml#l00234">CLElementwiseOperationKernel::run()</a>, <a class="el" href="_c_l_element_wise_unary_layer_kernel_8cpp_source.xhtml#l00104">CLElementWiseUnaryLayerKernel::run()</a>, <a class="el" href="_c_l_gaussian_pyramid_kernel_8cpp_source.xhtml#l00101">CLGaussianPyramidHorKernel::run()</a>, <a class="el" href="_c_l_histogram_kernel_8cpp_source.xhtml#l00113">CLHistogramKernel::run()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00083">CLGradientKernel::run()</a>, <a class="el" href="_c_l_bitwise_or_kernel_8cpp_source.xhtml#l00073">CLBitwiseOrKernel::run()</a>, <a class="el" href="_c_l_bitwise_xor_kernel_8cpp_source.xhtml#l00073">CLBitwiseXorKernel::run()</a>, <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00124">CLMinMaxKernel::run()</a>, <a class="el" href="_c_l_remap_kernel_8cpp_source.xhtml#l00094">CLRemapKernel::run()</a>, <a class="el" href="_c_l_bitwise_and_kernel_8cpp_source.xhtml#l00072">CLBitwiseAndKernel::run()</a>, <a class="el" href="_g_c_depthwise_convolution_layer3x3_kernel_8cpp_source.xhtml#l00205">GCDepthwiseConvolutionLayer3x3Kernel::run()</a>, <a class="el" href="_c_l_derivative_kernel_8cpp_source.xhtml#l00123">CLDerivativeKernel::run()</a>, <a class="el" href="_g_c_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00101">GCPixelWiseMultiplicationKernel::run()</a>, <a class="el" href="_c_l_sobel3x3_kernel_8cpp_source.xhtml#l00108">CLSobel3x3Kernel::run()</a>, <a class="el" href="_g_c_activation_layer_kernel_8cpp_source.xhtml#l00104">GCActivationLayerKernel::run()</a>, <a class="el" href="_c_l_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00097">CLHOGOrientationBinningKernel::run()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_addition_kernel_8cpp_source.xhtml#l00080">GCGEMMMatrixAdditionKernel::run()</a>, <a class="el" href="_g_c_normalization_layer_kernel_8cpp_source.xhtml#l00098">GCNormalizationLayerKernel::run()</a>, <a class="el" href="_c_l_sobel5x5_kernel_8cpp_source.xhtml#l00108">CLSobel5x5HorKernel::run()</a>, <a class="el" href="_c_l_sobel7x7_kernel_8cpp_source.xhtml#l00111">CLSobel7x7HorKernel::run()</a>, <a class="el" href="_g_c_absolute_difference_kernel_8cpp_source.xhtml#l00086">GCAbsoluteDifferenceKernel::run()</a>, <a class="el" href="_c_l_absolute_difference_kernel_8cpp_source.xhtml#l00087">CLAbsoluteDifferenceKernel::run()</a>, <a class="el" href="_g_c_g_e_m_m_transpose1x_w_kernel_8cpp_source.xhtml#l00098">GCGEMMTranspose1xWKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_accumulate_biases_kernel_8cpp_source.xhtml#l00115">CLGEMMMatrixAccumulateBiasesKernel::run()</a>, <a class="el" href="_c_l_magnitude_phase_kernel_8cpp_source.xhtml#l00143">CLMagnitudePhaseKernel::run()</a>, <a class="el" href="_c_l_floor_kernel_8cpp_source.xhtml#l00114">CLFloorKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_vector_multiply_kernel_8cpp_source.xhtml#l00135">CLGEMMMatrixVectorMultiplyKernel::run()</a>, <a class="el" href="_g_c_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00112">GCDepthConcatenateLayerKernel::run()</a>, <a class="el" href="_c_l_copy_kernel_8cpp_source.xhtml#l00204">CLCopyKernel::run()</a>, <a class="el" href="_c_l_channel_shuffle_layer_kernel_8cpp_source.xhtml#l00170">CLChannelShuffleLayerKernel::run()</a>, <a class="el" href="_c_l_integral_image_kernel_8cpp_source.xhtml#l00095">CLIntegralImageVertKernel::run()</a>, <a class="el" href="_c_l_flatten_layer_kernel_8cpp_source.xhtml#l00132">CLFlattenLayerKernel::run()</a>, <a class="el" href="_c_l_reshape_layer_kernel_8cpp_source.xhtml#l00113">CLReshapeLayerKernel::run()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_reshape_weights_kernel_8cpp_source.xhtml#l00116">CLDepthwiseConvolutionLayerReshapeWeightsKernel::run()</a>, <a class="el" href="_c_l_memset_kernel_8cpp_source.xhtml#l00078">CLMemsetKernel::run()</a>, <a class="el" href="_c_l_permute_kernel_8cpp_source.xhtml#l00125">CLPermuteKernel::run()</a>, <a class="el" href="_c_l_r_o_i_pooling_layer_kernel_8cpp_source.xhtml#l00127">CLROIPoolingLayerKernel::run()</a>, <a class="el" href="_c_l_reverse_kernel_8cpp_source.xhtml#l00130">CLReverseKernel::run()</a>, <a class="el" href="_c_l_generate_proposals_layer_kernel_8cpp_source.xhtml#l00112">CLComputeAllAnchorsKernel::run()</a>, <a class="el" href="_g_c_dropout_layer_kernel_8cpp_source.xhtml#l00086">GCDropoutLayerKernel::run()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00171">GCLogits1DShiftExpSumKernel::run()</a>, <a class="el" href="_c_l_locally_connected_matrix_multiply_kernel_8cpp_source.xhtml#l00129">CLLocallyConnectedMatrixMultiplyKernel::run()</a>, <a class="el" href="_g_c_fill_border_kernel_8cpp_source.xhtml#l00141">GCFillBorderKernel::run()</a>, <a class="el" href="_g_c_direct_convolution_layer_kernel_8cpp_source.xhtml#l00401">GCDirectConvolutionLayerKernel< kernel_size >::run()</a>, <a class="el" href="_c_l_fill_border_kernel_8cpp_source.xhtml#l00154">CLFillBorderKernel::run()</a>, <a class="el" href="_c_l_normalization_layer_kernel_8cpp_source.xhtml#l00186">CLNormalizationLayerKernel::run()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_c_h_w_kernel_8cpp_source.xhtml#l00313">CLDepthwiseConvolutionLayer3x3NCHWKernel::run()</a>, <a class="el" href="_c_l_upsample_layer_kernel_8cpp_source.xhtml#l00134">CLUpsampleLayerKernel::run()</a>, <a class="el" href="_c_l_channel_extract_kernel_8cpp_source.xhtml#l00168">CLChannelExtractKernel::run()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00208">CLActivationLayerKernel::run()</a>, <a class="el" href="_g_c_pooling_layer_kernel_8cpp_source.xhtml#l00331">GCPoolingLayerKernel::run()</a>, <a class="el" href="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00093">CLFastCornersKernel::run()</a>, <a class="el" href="_c_l_comparison_kernel_8cpp_source.xhtml#l00170">CLComparisonKernel::run()</a>, <a class="el" href="_c_l_gather_kernel_8cpp_source.xhtml#l00124">CLGatherKernel::run()</a>, <a class="el" href="_c_l_pooling_layer_kernel_8cpp_source.xhtml#l00312">CLPoolingLayerKernel::run()</a>, <a class="el" href="_c_l_deconvolution_layer_upsample_kernel_8cpp_source.xhtml#l00101">CLDeconvolutionLayerUpsampleKernel::run()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00301">CLDepthwiseConvolutionLayer3x3NHWCKernel::run()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_reshape_weights_generic_kernel_8cpp_source.xhtml#l00108">CLDepthwiseConvolutionLayerReshapeWeightsGenericKernel::run()</a>, <a class="el" href="_c_l_tile_kernel_8cpp_source.xhtml#l00135">CLTileKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_addition_kernel_8cpp_source.xhtml#l00110">CLGEMMMatrixAdditionKernel::run()</a>, <a class="el" href="_c_l_width_concatenate2_tensors_kernel_8cpp_source.xhtml#l00154">CLWidthConcatenate2TensorsKernel::run()</a>, <a class="el" href="_c_l_min_max_layer_kernel_8cpp_source.xhtml#l00141">CLMinMaxLayerKernel::run()</a>, <a class="el" href="_c_l_quantization_layer_kernel_8cpp_source.xhtml#l00110">CLQuantizationLayerKernel::run()</a>, <a class="el" href="_c_l_reorg_layer_kernel_8cpp_source.xhtml#l00124">CLReorgLayerKernel::run()</a>, <a class="el" href="_c_l_width_concatenate_layer_kernel_8cpp_source.xhtml#l00127">CLWidthConcatenateLayerKernel::run()</a>, <a class="el" href="_c_l_depthwise_vector_to_tensor_kernel_8cpp_source.xhtml#l00100">CLDepthwiseVectorToTensorKernel::run()</a>, <a class="el" href="_c_l_harris_corners_kernel_8cpp_source.xhtml#l00112">CLHarrisScoreKernel::run()</a>, <a class="el" href="_g_c_g_e_m_m_interleave4x4_kernel_8cpp_source.xhtml#l00090">GCGEMMInterleave4x4Kernel::run()</a>, <a class="el" href="_c_l_h_o_g_detector_kernel_8cpp_source.xhtml#l00116">CLHOGDetectorKernel::run()</a>, <a class="el" href="_c_l_prior_box_layer_kernel_8cpp_source.xhtml#l00200">CLPriorBoxLayerKernel::run()</a>, <a class="el" href="_c_l_channel_combine_kernel_8cpp_source.xhtml#l00238">CLChannelCombineKernel::run()</a>, <a class="el" href="_c_l_dequantization_layer_kernel_8cpp_source.xhtml#l00110">CLDequantizationLayerKernel::run()</a>, <a class="el" href="_c_l_convert_fully_connected_weights_kernel_8cpp_source.xhtml#l00102">CLConvertFullyConnectedWeightsKernel::run()</a>, <a class="el" href="_c_l_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00161">CLNormalizePlanarYUVLayerKernel::run()</a>, <a class="el" href="_c_l_range_kernel_8cpp_source.xhtml#l00145">CLRangeKernel::run()</a>, <a class="el" href="_c_l_scale_kernel_8cpp_source.xhtml#l00246">CLScaleKernel::run()</a>, <a class="el" href="_g_c_arithmetic_addition_kernel_8cpp_source.xhtml#l00131">GCArithmeticAdditionKernel::run()</a>, <a class="el" href="_g_c_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00132">GCNormalizePlanarYUVLayerKernel::run()</a>, <a class="el" href="_c_l_mean_std_dev_kernel_8cpp_source.xhtml#l00112">CLMeanStdDevKernel::run()</a>, <a class="el" href="_c_l_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00147">CLDepthConcatenateLayerKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_reshaped_kernel_8cpp_source.xhtml#l00262">CLGEMMLowpMatrixMultiplyReshapedKernel::run()</a>, <a class="el" href="_c_l_scharr3x3_kernel_8cpp_source.xhtml#l00108">CLScharr3x3Kernel::run()</a>, <a class="el" href="_c_l_select_kernel_8cpp_source.xhtml#l00172">CLSelectKernel::run()</a>, <a class="el" href="_c_l_width_concatenate4_tensors_kernel_8cpp_source.xhtml#l00201">CLWidthConcatenate4TensorsKernel::run()</a>, <a class="el" href="_c_l_reduction_operation_kernel_8cpp_source.xhtml#l00247">CLReductionOperationKernel::run()</a>, <a class="el" href="_g_c_tensor_shift_kernel_8cpp_source.xhtml#l00077">GCTensorShiftKernel::run()</a>, <a class="el" href="_c_l_bounding_box_transform_kernel_8cpp_source.xhtml#l00116">CLBoundingBoxTransformKernel::run()</a>, <a class="el" href="_c_l_l2_normalize_layer_kernel_8cpp_source.xhtml#l00160">CLL2NormalizeLayerKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_reshaped_kernel_8cpp_source.xhtml#l00268">CLGEMMMatrixMultiplyReshapedKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_kernel_8cpp_source.xhtml#l00336">CLGEMMLowpMatrixMultiplyKernel::run()</a>, <a class="el" href="_c_l_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00230">CLPixelWiseMultiplicationKernel::run()</a>, <a class="el" href="_c_l_y_o_l_o_layer_kernel_8cpp_source.xhtml#l00161">CLYOLOLayerKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_reshape_r_h_s_matrix_kernel_8cpp_source.xhtml#l00157">CLGEMMReshapeRHSMatrixKernel::run()</a>, <a class="el" href="_c_l_depthwise_im2_col_kernel_8cpp_source.xhtml#l00115">CLDepthwiseIm2ColKernel::run()</a>, <a class="el" href="_c_l_direct_convolution_output_stage_kernel_8cpp_source.xhtml#l00182">CLDirectConvolutionLayerOutputStageKernel::run()</a>, <a class="el" href="_c_l_stack_layer_kernel_8cpp_source.xhtml#l00119">CLStackLayerKernel::run()</a>, <a class="el" href="_c_l_color_convert_kernel_8cpp_source.xhtml#l00384">CLColorConvertKernel::run()</a>, <a class="el" href="_g_c_weights_reshape_kernel_8cpp_source.xhtml#l00101">GCWeightsReshapeKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_reshape_l_h_s_matrix_kernel_8cpp_source.xhtml#l00199">CLGEMMReshapeLHSMatrixKernel::run()</a>, <a class="el" href="_g_c_col2_im_kernel_8cpp_source.xhtml#l00097">GCCol2ImKernel::run()</a>, <a class="el" href="_c_l_r_o_i_align_layer_kernel_8cpp_source.xhtml#l00133">CLROIAlignLayerKernel::run()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00303">GCGEMMMatrixMultiplyKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_reduction_kernel_8cpp_source.xhtml#l00140">CLGEMMLowpMatrixAReductionKernel::run()</a>, <a class="el" href="_c_l_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00182">CLFuseBatchNormalizationKernel::run()</a>, <a class="el" href="_g_c_batch_normalization_layer_kernel_8cpp_source.xhtml#l00205">GCBatchNormalizationLayerKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_interleave4x4_kernel_8cpp_source.xhtml#l00186">CLGEMMInterleave4x4Kernel::run()</a>, <a class="el" href="_c_l_batch_to_space_layer_kernel_8cpp_source.xhtml#l00149">CLBatchToSpaceLayerKernel::run()</a>, <a class="el" href="_c_l_winograd_input_transform_kernel_8cpp_source.xhtml#l00227">CLWinogradInputTransformKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_float_kernel_8cpp_source.xhtml#l00152">CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFloatKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point_kernel_8cpp_source.xhtml#l00155">CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_kernel_8cpp_source.xhtml#l00151">CLGEMMLowpQuantizeDownInt32ToUint8ScaleKernel::run()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00503">CLDirectConvolutionLayerKernel::run()</a>, <a class="el" href="_c_l_col2_im_kernel_8cpp_source.xhtml#l00141">CLCol2ImKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_offset_contribution_output_stage_kernel_8cpp_source.xhtml#l00258">CLGEMMLowpOffsetContributionOutputStageKernel::run()</a>, <a class="el" href="_c_l_winograd_filter_transform_kernel_8cpp_source.xhtml#l00141">CLWinogradFilterTransformKernel::run()</a>, <a class="el" href="_c_l_batch_normalization_layer_kernel_8cpp_source.xhtml#l00223">CLBatchNormalizationLayerKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_transpose1x_w_kernel_8cpp_source.xhtml#l00142">CLGEMMTranspose1xWKernel::run()</a>, <a class="el" href="_c_l_histogram_kernel_8cpp_source.xhtml#l00204">CLHistogramBorderKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_offset_contribution_kernel_8cpp_source.xhtml#l00219">CLGEMMLowpOffsetContributionKernel::run()</a>, <a class="el" href="_c_l_strided_slice_kernel_8cpp_source.xhtml#l00194">CLStridedSliceKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00434">CLGEMMMatrixMultiplyKernel::run()</a>, <a class="el" href="_c_l_gaussian_pyramid_kernel_8cpp_source.xhtml#l00183">CLGaussianPyramidVertKernel::run()</a>, <a class="el" href="_c_l_l_k_tracker_kernel_8cpp_source.xhtml#l00081">CLLKTrackerInitKernel::run()</a>, <a class="el" href="_c_l_space_to_batch_layer_kernel_8cpp_source.xhtml#l00172">CLSpaceToBatchLayerKernel::run()</a>, <a class="el" href="_c_l_winograd_output_transform_kernel_8cpp_source.xhtml#l00231">CLWinogradOutputTransformKernel::run()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00151">CLEdgeNonMaxSuppressionKernel::run()</a>, <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00215">CLMinMaxLocationKernel::run()</a>, <a class="el" href="_c_l_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00180">CLHOGBlockNormalizationKernel::run()</a>, <a class="el" href="_c_l_weights_reshape_kernel_8cpp_source.xhtml#l00118">CLWeightsReshapeKernel::run()</a>, <a class="el" href="_c_l_im2_col_kernel_8cpp_source.xhtml#l00352">CLIm2ColKernel::run()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00249">GCLogits1DNormKernel::run()</a>, <a class="el" href="_c_l_sobel5x5_kernel_8cpp_source.xhtml#l00207">CLSobel5x5VertKernel::run()</a>, <a class="el" href="_c_l_sobel7x7_kernel_8cpp_source.xhtml#l00210">CLSobel7x7VertKernel::run()</a>, <a class="el" href="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00154">CLCopyToArrayKernel::run()</a>, <a class="el" href="_c_l_l_k_tracker_kernel_8cpp_source.xhtml#l00110">CLLKTrackerFinalizeKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_reduction_kernel_8cpp_source.xhtml#l00194">CLGEMMLowpMatrixBReductionKernel::run()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00236">CLEdgeTraceKernel::run()</a>, <a class="el" href="_c_l_l_k_tracker_kernel_8cpp_source.xhtml#l00194">CLLKTrackerStage0Kernel::run()</a>, <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00298">CLLogits1DMaxShiftExpSumKernel::run()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00304">CLConvolutionRectangleKernel::run()</a>, <a class="el" href="_c_l_l_k_tracker_kernel_8cpp_source.xhtml#l00278">CLLKTrackerStage1Kernel::run()</a>, and <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00379">CLLogits1DNormKernel::run()</a>.</p>
+
</div>
</div>
<a id="a0768178b90a30994784fd28c5a89323f"></a>
@@ -11067,12 +11938,13 @@
</dl>
<p class="definition">Definition at line <a class="el" href="_error_8cpp_source.xhtml#l00051">51</a> of file <a class="el" href="_error_8cpp_source.xhtml">Error.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8cpp_source.xhtml#l00033">create_error_va_list()</a>, and <a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa62be47fdd89da032cf78dfce82239579">RUNTIME_ERROR</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_framework_8cpp_source.xhtml#l00276">Framework::error_on_missing_assets()</a>, <a class="el" href="main_8cpp_source.xhtml#l00087">main()</a>, and <a class="el" href="_error_8h_source.xhtml#l00102">Status::throw_if_error()</a>.</p>
-<div class="fragment"><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>  va_list args;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  va_start(args, msg);</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="keyword">auto</span> err = <a class="code" href="namespacearm__compute.xhtml#aee087c8a7edb0fb5b7e75b9037e34cf7">create_error_va_list</a>(ErrorCode::RUNTIME_ERROR, <span class="keyword">function</span>, file, line, msg, args);</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  va_end(args);</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keywordflow">throw</span> std::runtime_error(err.error_description());</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_aee087c8a7edb0fb5b7e75b9037e34cf7"><div class="ttname"><a href="namespacearm__compute.xhtml#aee087c8a7edb0fb5b7e75b9037e34cf7">arm_compute::create_error_va_list</a></div><div class="ttdeci">Status create_error_va_list(ErrorCode error_code, const char *function, const char *file, const int line, const char *msg, va_list args)</div><div class="ttdoc">Creates an error containing the error message from variable argument list. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8cpp_source.xhtml#l00033">Error.cpp:33</a></div></div>
+<div class="fragment"><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>  va_list args;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  va_start(args, msg);</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="keyword">auto</span> err = <a class="code" href="namespacearm__compute.xhtml#aee087c8a7edb0fb5b7e75b9037e34cf7">create_error_va_list</a>(ErrorCode::RUNTIME_ERROR, <span class="keyword">function</span>, file, line, msg, args);</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  va_end(args);</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <a class="code" href="_error_8h.xhtml#ad5518fdae84a33ce6fbed540c6e89479">ARM_COMPUTE_THROW</a>(std::runtime_error(err.error_description()));</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> }</div><div class="ttc" id="_error_8h_xhtml_ad5518fdae84a33ce6fbed540c6e89479"><div class="ttname"><a href="_error_8h.xhtml#ad5518fdae84a33ce6fbed540c6e89479">ARM_COMPUTE_THROW</a></div><div class="ttdeci">#define ARM_COMPUTE_THROW(ex)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00351">Error.h:351</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_aee087c8a7edb0fb5b7e75b9037e34cf7"><div class="ttname"><a href="namespacearm__compute.xhtml#aee087c8a7edb0fb5b7e75b9037e34cf7">arm_compute::create_error_va_list</a></div><div class="ttdeci">Status create_error_va_list(ErrorCode error_code, const char *function, const char *file, const int line, const char *msg, va_list args)</div><div class="ttdoc">Creates an error containing the error message from variable argument list.</div><div class="ttdef"><b>Definition:</b> <a href="_error_8cpp_source.xhtml#l00033">Error.cpp:33</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00351">ARM_COMPUTE_THROW</a>, <a class="el" href="_error_8cpp_source.xhtml#l00033">create_error_va_list()</a>, and <a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa62be47fdd89da032cf78dfce82239579">RUNTIME_ERROR</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_framework_8cpp_source.xhtml#l00212">Framework::log_failed_expectation()</a>, <a class="el" href="main_8cpp_source.xhtml#l00090">main()</a>, <a class="el" href="_j_s_o_n_printer_8cpp_source.xhtml#l00155">JSONPrinter::print_error()</a>, and <a class="el" href="_pretty_printer_8cpp_source.xhtml#l00106">PrettyPrinter::print_error()</a>.</p>
+
</div>
</div>
<a id="a89059fcfb27bba71edffcc22c6e1a1a2"></a>
@@ -11145,16 +12017,16 @@
</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>
+<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 class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00872">872</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-
+<div class="fragment"><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>  <a class="code" href="_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="l00876"></a><span class="lineno"> 876</span> </div><div class="line"><a name="l00877"></a><span class="lineno"> 877</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="l00878"></a><span class="lineno"> 878</span>  <a class="code" href="_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="l00879"></a><span class="lineno"> 879</span>  {</div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>  <span class="keywordflow">return</span> f == cn;</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>  <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00883"></a><span class="lineno"> 883</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="l00884"></a><span class="lineno"> 884</span> }</div><div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
+</div><!-- fragment -->
<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
<p class="reference">Referenced by <a class="el" href="_validate_8cpp_source.xhtml#l00113">error_on_channel_not_in_known_format()</a>.</p>
-<div class="fragment"><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>  <a class="code" href="_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="l00876"></a><span class="lineno"> 876</span> </div><div class="line"><a name="l00877"></a><span class="lineno"> 877</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="l00878"></a><span class="lineno"> 878</span>  <a class="code" href="_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="l00879"></a><span class="lineno"> 879</span>  {</div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>  <span class="keywordflow">return</span> f == cn;</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>  <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00883"></a><span class="lineno"> 883</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="l00884"></a><span class="lineno"> 884</span> }</div><div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
-</div><!-- fragment -->
+
</div>
</div>
<a id="a66876161b2add31c70efb9d1ba9423cb"></a>
@@ -11212,33 +12084,33 @@
</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>
+<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 class="definition">Definition at line <a class="el" href="_validate_8cpp_source.xhtml#l00113">113</a> of file <a class="el" href="_validate_8cpp_source.xhtml">Validate.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="_error_8h_source.xhtml#l00270">ARM_COMPUTE_ERROR_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, <a class="el" href="_validate_8h_source.xhtml#l00872">error_on_channel_not_in()</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">G</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#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">R</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#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</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#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</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="l00115"></a><span class="lineno"> 115</span> {</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(fmt == <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">arm_compute::Format::UNKNOWN</a>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(cn == <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">arm_compute::Channel::UNKNOWN</a>, <span class="keyword">function</span>, file, line);</div><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>(fmt)</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> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">arm_compute::Format::RGB888</a>:</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <a class="code" href="namespacearm__compute.xhtml#a89059fcfb27bba71edffcc22c6e1a1a2">arm_compute::error_on_channel_not_in</a>(<span class="keyword">function</span>, file, line, cn, <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">arm_compute::Channel::R</a>, <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">arm_compute::Channel::G</a>, <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">arm_compute::Channel::B</a>);</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> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">arm_compute::Format::RGBA8888</a>:</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <a class="code" href="namespacearm__compute.xhtml#a89059fcfb27bba71edffcc22c6e1a1a2">arm_compute::error_on_channel_not_in</a>(<span class="keyword">function</span>, file, line, cn, <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">arm_compute::Channel::R</a>, <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">arm_compute::Channel::G</a>, <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">arm_compute::Channel::B</a>, <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a>);</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> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">arm_compute::Format::UV88</a>:</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <a class="code" href="namespacearm__compute.xhtml#a89059fcfb27bba71edffcc22c6e1a1a2">arm_compute::error_on_channel_not_in</a>(<span class="keyword">function</span>, file, line, cn, <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">arm_compute::Channel::U</a>, <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">arm_compute::Channel::V</a>);</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">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">arm_compute::Format::IYUV</a>:</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">arm_compute::Format::UYVY422</a>:</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">arm_compute::Format::YUYV422</a>:</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">arm_compute::Format::NV12</a>:</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">arm_compute::Format::NV21</a>:</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">arm_compute::Format::YUV444</a>:</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <a class="code" href="namespacearm__compute.xhtml#a89059fcfb27bba71edffcc22c6e1a1a2">arm_compute::error_on_channel_not_in</a>(<span class="keyword">function</span>, file, line, cn, <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">arm_compute::Channel::Y</a>, <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">arm_compute::Channel::U</a>, <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">arm_compute::Channel::V</a>);</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <a class="code" href="_error_8h.xhtml#af93757c5021d1802b094dfbead459391">ARM_COMPUTE_ERROR_LOC</a>(<span class="keyword">function</span>, file, line, <span class="stringliteral">"Not supported format."</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>  <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="l00142"></a><span class="lineno"> 142</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_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_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="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</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_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="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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">arm_compute::Channel::R</a></div><div class="ttdoc">Red 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_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_a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">arm_compute::Channel::U</a></div><div class="ttdoc">Cb/U channel. </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a89059fcfb27bba71edffcc22c6e1a1a2"><div class="ttname"><a href="namespacearm__compute.xhtml#a89059fcfb27bba71edffcc22c6e1a1a2">arm_compute::error_on_channel_not_in</a></div><div class="ttdeci">arm_compute::Status error_on_channel_not_in(const char *function, const char *file, const int line, T cn, T &&channel, Ts &&... channels)</div><div class="ttdoc">Return an error if the channel is not in channels. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00872">Validate.h:872</a></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_a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">arm_compute::Channel::Y</a></div><div class="ttdoc">Luma 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="fragment"><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>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(fmt == <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">arm_compute::Format::UNKNOWN</a>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(cn == <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">arm_compute::Channel::UNKNOWN</a>, <span class="keyword">function</span>, file, line);</div><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>(fmt)</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> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">arm_compute::Format::RGB888</a>:</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <a class="code" href="namespacearm__compute.xhtml#a89059fcfb27bba71edffcc22c6e1a1a2">arm_compute::error_on_channel_not_in</a>(<span class="keyword">function</span>, file, line, cn, <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">arm_compute::Channel::R</a>, <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">arm_compute::Channel::G</a>, <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">arm_compute::Channel::B</a>);</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> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">arm_compute::Format::RGBA8888</a>:</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <a class="code" href="namespacearm__compute.xhtml#a89059fcfb27bba71edffcc22c6e1a1a2">arm_compute::error_on_channel_not_in</a>(<span class="keyword">function</span>, file, line, cn, <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">arm_compute::Channel::R</a>, <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">arm_compute::Channel::G</a>, <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">arm_compute::Channel::B</a>, <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a>);</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> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">arm_compute::Format::UV88</a>:</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <a class="code" href="namespacearm__compute.xhtml#a89059fcfb27bba71edffcc22c6e1a1a2">arm_compute::error_on_channel_not_in</a>(<span class="keyword">function</span>, file, line, cn, <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">arm_compute::Channel::U</a>, <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">arm_compute::Channel::V</a>);</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">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">arm_compute::Format::IYUV</a>:</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">arm_compute::Format::UYVY422</a>:</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">arm_compute::Format::YUYV422</a>:</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">arm_compute::Format::NV12</a>:</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">arm_compute::Format::NV21</a>:</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">arm_compute::Format::YUV444</a>:</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <a class="code" href="namespacearm__compute.xhtml#a89059fcfb27bba71edffcc22c6e1a1a2">arm_compute::error_on_channel_not_in</a>(<span class="keyword">function</span>, file, line, cn, <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">arm_compute::Channel::Y</a>, <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">arm_compute::Channel::U</a>, <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">arm_compute::Channel::V</a>);</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <a class="code" href="_error_8h.xhtml#af93757c5021d1802b094dfbead459391">ARM_COMPUTE_ERROR_LOC</a>(<span class="keyword">function</span>, file, line, <span class="stringliteral">"Not supported format."</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>  <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="l00142"></a><span class="lineno"> 142</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_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_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="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</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_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="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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">arm_compute::Channel::R</a></div><div class="ttdoc">Red 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_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_a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">arm_compute::Channel::U</a></div><div class="ttdoc">Cb/U channel.</div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a89059fcfb27bba71edffcc22c6e1a1a2"><div class="ttname"><a href="namespacearm__compute.xhtml#a89059fcfb27bba71edffcc22c6e1a1a2">arm_compute::error_on_channel_not_in</a></div><div class="ttdeci">arm_compute::Status error_on_channel_not_in(const char *function, const char *file, const int line, T cn, T &&channel, Ts &&... channels)</div><div class="ttdoc">Return an error if the channel is not in channels.</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00872">Validate.h:872</a></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_a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">arm_compute::Channel::Y</a></div><div class="ttdoc">Luma 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">2 channel, 1 U8 per channel </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">arm_compute::Channel::G</a></div><div class="ttdoc">Green channel. </div></div>
-<div class="ttc" id="_error_8h_xhtml_af93757c5021d1802b094dfbead459391"><div class="ttname"><a href="_error_8h.xhtml#af93757c5021d1802b094dfbead459391">ARM_COMPUTE_ERROR_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_LOC(func, file, line,...)</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#l00270">Error.h:270</a></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 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_a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">arm_compute::Channel::G</a></div><div class="ttdoc">Green channel.</div></div>
+<div class="ttc" id="_error_8h_xhtml_af93757c5021d1802b094dfbead459391"><div class="ttname"><a href="_error_8h.xhtml#af93757c5021d1802b094dfbead459391">ARM_COMPUTE_ERROR_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_LOC(func, file, line,...)</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#l00270">Error.h:270</a></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 -->
+<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="_error_8h_source.xhtml#l00270">ARM_COMPUTE_ERROR_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, <a class="el" href="_validate_8h_source.xhtml#l00872">error_on_channel_not_in()</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">G</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#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">R</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#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</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#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>.</p>
+
</div>
</div>
<a id="a3c62cc8d5ee934d42c115c9315d66c13"></a>
@@ -11292,20 +12164,20 @@
<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">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">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>
</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>
+<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 class="definition">Definition at line <a class="el" href="_validate_8cpp_source.xhtml#l00070">70</a> of file <a class="el" href="_validate_8cpp_source.xhtml">Validate.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, and <a class="el" href="_dimensions_8h_source.xhtml#l00045">Dimensions< int >::num_max_dimensions</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>  <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = max_dim; i < <a class="code" href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">arm_compute::Coordinates::num_max_dimensions</a>; ++i)</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>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(pos[i] != 0, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  }</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</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="l00078"></a><span class="lineno"> 78</span> }</div><div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a1b67d5b720119d50faa286c774579ecc"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">arm_compute::Dimensions< int >::num_max_dimensions</a></div><div class="ttdeci">static constexpr size_t num_max_dimensions</div><div class="ttdoc">Number of dimensions the tensor has. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00045">Dimensions.h:45</a></div></div>
+<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>  <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = max_dim; i < <a class="code" href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">arm_compute::Coordinates::num_max_dimensions</a>; ++i)</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>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(pos[i] != 0, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  }</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</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="l00078"></a><span class="lineno"> 78</span> }</div><div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a1b67d5b720119d50faa286c774579ecc"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">arm_compute::Dimensions< int >::num_max_dimensions</a></div><div class="ttdeci">static constexpr size_t num_max_dimensions</div><div class="ttdoc">Number of dimensions the tensor has.</div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00045">Dimensions.h:45</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, and <a class="el" href="_dimensions_8h_source.xhtml#l00045">Dimensions< int >::num_max_dimensions</a>.</p>
+
</div>
</div>
<a id="a4b97ba5512e8deb4a428515bc61c0c7a"></a>
@@ -11372,25 +12244,25 @@
<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">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">dl</td><td>First data layout allowed. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">dls</td><td>(Optional) Further allowed data layouts.</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>
+<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 class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00708">708</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a367b5090ab432bc7de2c32369e087ab1">ITensorInfo::data_layout()</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00127">string_from_data_layout()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</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>  <a class="code" href="_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="l00712"></a><span class="lineno"> 712</span> </div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> &tensor_dl = tensor_info->data_layout(); <span class="comment">//NOLINT</span></div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor_dl == DataLayout::UNKNOWN, <span class="keyword">function</span>, file, line);</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="keyword">const</span> std::array<T, <span class="keyword">sizeof</span>...(Ts)> dls_array{ { std::forward<Ts>(dls)... } };</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>  <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(tensor_dl != dl && std::none_of(dls_array.begin(), dls_array.end(), [&](<span class="keyword">const</span> T & l)</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>  <span class="keywordflow">return</span> l == tensor_dl;</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="keyword">function</span>, file, line, <span class="stringliteral">"ITensor data layout %s not supported by this kernel"</span>, <a class="code" href="namespacearm__compute.xhtml#a56b9e25c2e8731ca5488e7b3ccd66f58">string_from_data_layout</a>(tensor_dl).c_str());</div><div class="line"><a name="l00722"></a><span class="lineno"> 722</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="l00723"></a><span class="lineno"> 723</span> }</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a56b9e25c2e8731ca5488e7b3ccd66f58"><div class="ttname"><a href="namespacearm__compute.xhtml#a56b9e25c2e8731ca5488e7b3ccd66f58">arm_compute::string_from_data_layout</a></div><div class="ttdeci">const std::string & string_from_data_layout(DataLayout dl)</div><div class="ttdoc">Convert a data layout identity into a string.</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_utils_8cpp_source.xhtml#l00132">Utils.cpp:132</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ad1d5cce2d9e9a5d61c243e5c989112e0"><div class="ttname"><a href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">arm_compute::DataLayout</a></div><div class="ttdeci">DataLayout</div><div class="ttdoc">[DataLayout enum definition]</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00111">Types.h:111</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a367b5090ab432bc7de2c32369e087ab1">ITensorInfo::data_layout()</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00132">string_from_data_layout()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
<p class="reference">Referenced by <a class="el" href="_validate_8h_source.xhtml#l00736">error_on_data_layout_not_in()</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>  <a class="code" href="_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="l00712"></a><span class="lineno"> 712</span> </div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> &tensor_dl = tensor_info->data_layout(); <span class="comment">//NOLINT</span></div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor_dl == DataLayout::UNKNOWN, <span class="keyword">function</span>, file, line);</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="keyword">const</span> std::array<T, <span class="keyword">sizeof</span>...(Ts)> dls_array{ { std::forward<Ts>(dls)... } };</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>  <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(tensor_dl != dl && std::none_of(dls_array.begin(), dls_array.end(), [&](<span class="keyword">const</span> T & l)</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>  <span class="keywordflow">return</span> l == tensor_dl;</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="keyword">function</span>, file, line, <span class="stringliteral">"ITensor data layout %s not supported by this kernel"</span>, <a class="code" href="namespacearm__compute.xhtml#a56b9e25c2e8731ca5488e7b3ccd66f58">string_from_data_layout</a>(tensor_dl).c_str());</div><div class="line"><a name="l00722"></a><span class="lineno"> 722</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="l00723"></a><span class="lineno"> 723</span> }</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a56b9e25c2e8731ca5488e7b3ccd66f58"><div class="ttname"><a href="namespacearm__compute.xhtml#a56b9e25c2e8731ca5488e7b3ccd66f58">arm_compute::string_from_data_layout</a></div><div class="ttdeci">const std::string & string_from_data_layout(DataLayout dl)</div><div class="ttdoc">Convert a data layout identity into a string. </div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_utils_8cpp_source.xhtml#l00127">Utils.cpp:127</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ad1d5cce2d9e9a5d61c243e5c989112e0"><div class="ttname"><a href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">arm_compute::DataLayout</a></div><div class="ttdeci">DataLayout</div><div class="ttdoc">[DataLayout enum definition] </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00111">Types.h:111</a></div></div>
-</div><!-- fragment -->
+
</div>
</div>
<a id="aba935fe0dd1a33ed2525ace5b21e1a8a"></a>
@@ -11457,22 +12329,22 @@
<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>
<tr><td class="paramdir">[in]</td><td class="paramname">dl</td><td>First data layout allowed. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">dls</td><td>(Optional) Further allowed data layouts.</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>
+<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 class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00736">736</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00708">error_on_data_layout_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="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#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="l00740"></a><span class="lineno"> 740</span>  <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a4b97ba5512e8deb4a428515bc61c0c7a">arm_compute::error_on_data_layout_not_in</a>(<span class="keyword">function</span>, file, line, tensor->info(), std::forward<T>(dl), std::forward<Ts>(dls)...));</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</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="l00742"></a><span class="lineno"> 742</span> }</div><div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00193">Error.h:193</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
+<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#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="l00740"></a><span class="lineno"> 740</span>  <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a4b97ba5512e8deb4a428515bc61c0c7a">arm_compute::error_on_data_layout_not_in</a>(<span class="keyword">function</span>, file, line, tensor->info(), std::forward<T>(dl), std::forward<Ts>(dls)...));</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</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="l00742"></a><span class="lineno"> 742</span> }</div><div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00193">Error.h:193</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a4b97ba5512e8deb4a428515bc61c0c7a"><div class="ttname"><a href="namespacearm__compute.xhtml#a4b97ba5512e8deb4a428515bc61c0c7a">arm_compute::error_on_data_layout_not_in</a></div><div class="ttdeci">arm_compute::Status error_on_data_layout_not_in(const char *function, const char *file, const int line, const ITensorInfo *tensor_info, T &&dl, Ts &&... dls)</div><div class="ttdoc">Return an error if the data layout of the passed tensor info does not match any of the data layouts p...</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00708">Validate.h:708</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00708">error_on_data_layout_not_in()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
+
</div>
</div>
<a id="a2f061a50e9fd383396233a85234c1774"></a>
@@ -11545,25 +12417,25 @@
<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">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>
+<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 class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00761">761</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-
+<div class="fragment"><div class="line"><a name="l00763"></a><span class="lineno"> 763</span> {</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>  <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#abb2e6a7590121c1c9139bdb14558f20a">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="l00765"></a><span class="lineno"> 765</span>  <span class="keyword">const</span> <span class="keywordtype">size_t</span> tensor_nc = tensor_info->num_channels();</div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>  <a class="code" href="_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="l00767"></a><span class="lineno"> 767</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="l00768"></a><span class="lineno"> 768</span> }</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00193">Error.h:193</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_abb2e6a7590121c1c9139bdb14558f20a"><div class="ttname"><a href="namespacearm__compute.xhtml#abb2e6a7590121c1c9139bdb14558f20a">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#l00656">Validate.h:656</a></div></div>
+</div><!-- fragment -->
<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00656">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 class="reference">Referenced by <a class="el" href="_validate_8h_source.xhtml#l00782">error_on_data_type_channel_not_in()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00763"></a><span class="lineno"> 763</span> {</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>  <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#abb2e6a7590121c1c9139bdb14558f20a">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="l00765"></a><span class="lineno"> 765</span>  <span class="keyword">const</span> <span class="keywordtype">size_t</span> tensor_nc = tensor_info->num_channels();</div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>  <a class="code" href="_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="l00767"></a><span class="lineno"> 767</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="l00768"></a><span class="lineno"> 768</span> }</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00193">Error.h:193</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_abb2e6a7590121c1c9139bdb14558f20a"><div class="ttname"><a href="namespacearm__compute.xhtml#abb2e6a7590121c1c9139bdb14558f20a">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#l00656">Validate.h:656</a></div></div>
-</div><!-- fragment -->
+
</div>
</div>
<a id="aa87a2bd032fb1e4406506f5bb2da3225"></a>
@@ -11636,23 +12508,23 @@
<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>
<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>
+<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 class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00782">782</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00761">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="l00784"></a><span class="lineno"> 784</span> {</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>  <a class="code" href="_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="l00786"></a><span class="lineno"> 786</span>  <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(<a class="code" href="namespacearm__compute.xhtml#aa87a2bd032fb1e4406506f5bb2da3225">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="l00787"></a><span class="lineno"> 787</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="l00788"></a><span class="lineno"> 788</span> }</div><div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
+<div class="fragment"><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>  <a class="code" href="_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="l00786"></a><span class="lineno"> 786</span>  <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(<a class="code" href="namespacearm__compute.xhtml#aa87a2bd032fb1e4406506f5bb2da3225">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="l00787"></a><span class="lineno"> 787</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="l00788"></a><span class="lineno"> 788</span> }</div><div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_aa87a2bd032fb1e4406506f5bb2da3225"><div class="ttname"><a href="namespacearm__compute.xhtml#aa87a2bd032fb1e4406506f5bb2da3225">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#l00782">Validate.h:782</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="_error_8h_source.xhtml#l00052">Error.h:52</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00761">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>
</div>
<a id="abb2e6a7590121c1c9139bdb14558f20a"></a>
@@ -11719,25 +12591,25 @@
<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">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>
+<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 class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00656">656</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00231">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="src_2core_2_utils_8cpp_source.xhtml#l00139">string_from_data_type()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
+<div class="fragment"><div class="line"><a name="l00658"></a><span class="lineno"> 658</span> {</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>  <a class="code" href="_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="l00660"></a><span class="lineno"> 660</span> </div><div class="line"><a name="l00661"></a><span class="lineno"> 661</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="l00662"></a><span class="lineno"> 662</span>  <a class="code" href="_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="l00663"></a><span class="lineno"> 663</span> </div><div class="line"><a name="l00664"></a><span class="lineno"> 664</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="l00665"></a><span class="lineno"> 665</span>  <a class="code" href="_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="l00666"></a><span class="lineno"> 666</span>  {</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>  <span class="keywordflow">return</span> d == tensor_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="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#a142b55a483cadf4e1068a1a09a55e8e9">string_from_data_type</a>(tensor_dt).c_str());</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</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="l00671"></a><span class="lineno"> 671</span> }</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a142b55a483cadf4e1068a1a09a55e8e9"><div class="ttname"><a href="namespacearm__compute.xhtml#a142b55a483cadf4e1068a1a09a55e8e9">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 class="ttdef"><b>Definition:</b> <a href="src_2core_2_utils_8cpp_source.xhtml#l00144">Utils.cpp:144</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#l00074">Types.h:74</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00231">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="src_2core_2_utils_8cpp_source.xhtml#l00144">string_from_data_type()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
<p class="reference">Referenced by <a class="el" href="_validate_8h_source.xhtml#l00761">error_on_data_type_channel_not_in()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00684">error_on_data_type_not_in()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00658"></a><span class="lineno"> 658</span> {</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>  <a class="code" href="_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="l00660"></a><span class="lineno"> 660</span> </div><div class="line"><a name="l00661"></a><span class="lineno"> 661</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="l00662"></a><span class="lineno"> 662</span>  <a class="code" href="_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="l00663"></a><span class="lineno"> 663</span> </div><div class="line"><a name="l00664"></a><span class="lineno"> 664</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="l00665"></a><span class="lineno"> 665</span>  <a class="code" href="_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="l00666"></a><span class="lineno"> 666</span>  {</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>  <span class="keywordflow">return</span> d == tensor_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="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#a142b55a483cadf4e1068a1a09a55e8e9">string_from_data_type</a>(tensor_dt).c_str());</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</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="l00671"></a><span class="lineno"> 671</span> }</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a142b55a483cadf4e1068a1a09a55e8e9"><div class="ttname"><a href="namespacearm__compute.xhtml#a142b55a483cadf4e1068a1a09a55e8e9">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 class="ttdef"><b>Definition:</b> <a href="src_2core_2_utils_8cpp_source.xhtml#l00139">Utils.cpp:139</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#l00074">Types.h:74</a></div></div>
-</div><!-- fragment -->
+
</div>
</div>
<a id="ae8dfd7ddb80f1bd4042a0409d56cc72a"></a>
@@ -11804,22 +12676,22 @@
<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>
<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>
+<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 class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00684">684</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00656">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="l00686"></a><span class="lineno"> 686</span> {</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>  <a class="code" href="_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="l00688"></a><span class="lineno"> 688</span>  <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#abb2e6a7590121c1c9139bdb14558f20a">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="l00689"></a><span class="lineno"> 689</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="l00690"></a><span class="lineno"> 690</span> }</div><div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00193">Error.h:193</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
+<div class="fragment"><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>  <a class="code" href="_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="l00688"></a><span class="lineno"> 688</span>  <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#abb2e6a7590121c1c9139bdb14558f20a">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="l00689"></a><span class="lineno"> 689</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="l00690"></a><span class="lineno"> 690</span> }</div><div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00193">Error.h:193</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_abb2e6a7590121c1c9139bdb14558f20a"><div class="ttname"><a href="namespacearm__compute.xhtml#abb2e6a7590121c1c9139bdb14558f20a">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#l00656">Validate.h:656</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00656">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>
</div>
<a id="a8a09f045f83a973807cbfdd3083732ef"></a>
@@ -11886,14 +12758,14 @@
</dl>
<p class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00623">623</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00347">ARM_COMPUTE_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00329">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00160">ARM_COMPUTE_UNUSED</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00080">string_from_format()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
<div class="fragment"><div class="line"><a name="l00625"></a><span class="lineno"> 625</span> {</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</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="l00627"></a><span class="lineno"> 627</span> </div><div class="line"><a name="l00628"></a><span class="lineno"> 628</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="l00629"></a><span class="lineno"> 629</span>  <a class="code" href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(object_format);</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="_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="l00632"></a><span class="lineno"> 632</span> </div><div class="line"><a name="l00633"></a><span class="lineno"> 633</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="l00634"></a><span class="lineno"> 634</span>  <a class="code" href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(formats_array);</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span> </div><div class="line"><a name="l00636"></a><span class="lineno"> 636</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="l00637"></a><span class="lineno"> 637</span>  {</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>  <span class="keywordflow">return</span> f == object_format;</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="keyword">function</span>, file, line, <span class="stringliteral">"Format %s not supported by this kernel"</span>, <a class="code" href="namespacearm__compute.xhtml#a8b82da7b5e0f6192f415ac347c9e0555">string_from_format</a>(object_format).c_str());</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</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#l00329">Error.h:329</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a6dc630a6ae9cc063b3924bcea8dee9d6"><div class="ttname"><a href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(...)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00160">Error.h:160</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#l00052">Types.h:52</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#l00347">Error.h:347</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a8b82da7b5e0f6192f415ac347c9e0555"><div class="ttname"><a href="namespacearm__compute.xhtml#a8b82da7b5e0f6192f415ac347c9e0555">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 class="ttdef"><b>Definition:</b> <a href="src_2core_2_utils_8cpp_source.xhtml#l00080">Utils.cpp:80</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a6dc630a6ae9cc063b3924bcea8dee9d6"><div class="ttname"><a href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(...)</div><div class="ttdoc">To avoid unused variables warnings.</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00160">Error.h:160</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#l00052">Types.h:52</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#l00347">Error.h:347</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a8b82da7b5e0f6192f415ac347c9e0555"><div class="ttname"><a href="namespacearm__compute.xhtml#a8b82da7b5e0f6192f415ac347c9e0555">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 class="ttdef"><b>Definition:</b> <a href="src_2core_2_utils_8cpp_source.xhtml#l00085">Utils.cpp:85</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00347">ARM_COMPUTE_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00329">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00160">ARM_COMPUTE_UNUSED</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00085">string_from_format()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
+
</div>
</div>
<a id="a689cede2a5855c731f7d69b487f30aaa"></a>
@@ -11939,27 +12811,27 @@
<ol type="1">
<li>it is a nullptr</li>
<li>it doesn't contain models</li>
-<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>
+<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>
-<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>
+<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 class="definition">Definition at line <a class="el" href="_validate_8cpp_source.xhtml#l00144">144</a> of file <a class="el" href="_validate_8cpp_source.xhtml">Validate.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="classarm__compute_1_1_i_h_o_g.xhtml#a4e9b5d4ab15fd9009b463861c1a19dbd">IHOG::info()</a>, <a class="el" href="_h_o_g_info_8cpp_source.xhtml#l00121">HOGInfo::l2_hyst_threshold()</a>, <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">L2HYS_NORM</a>, <a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml#a75e828c2dc5a300d224761a410c0925f">IMultiHOG::model()</a>, <a class="el" href="_h_o_g_info_8cpp_source.xhtml#l00116">HOGInfo::normalization_type()</a>, <a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml#a36ab43f5c3606001dcd2468b955f3e02">IMultiHOG::num_models()</a>, and <a class="el" href="_h_o_g_info_8cpp_source.xhtml#l00126">HOGInfo::phase_type()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00146"></a><span class="lineno"> 146</span> {</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(<span class="keyword">nullptr</span> == multi_hog, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(0 == multi_hog->num_models(), <span class="keyword">function</span>, file, line);</div><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">for</span>(<span class="keywordtype">size_t</span> i = 1; i < multi_hog->num_models(); ++i)</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  {</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(multi_hog->model(0)->info()->phase_type() != multi_hog->model(i)->info()->phase_type(),</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keyword">function</span>, file, line,</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="stringliteral">"All HOG parameters must have the same phase type"</span>);</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(multi_hog->model(0)->info()->normalization_type() != multi_hog->model(i)->info()->normalization_type(),</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keyword">function</span>, file, line,</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="stringliteral">"All HOG parameters must have the same normalization type"</span>);</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>((multi_hog->model(0)->info()->l2_hyst_threshold() != multi_hog->model(i)->info()->l2_hyst_threshold())</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  && (multi_hog->model(0)->info()->normalization_type() == <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">arm_compute::HOGNormType::L2HYS_NORM</a>),</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keyword">function</span>, file, line,</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="stringliteral">"All HOG parameters must have the same l2 hysteresis threshold if you use L2 hysteresis normalization type"</span>);</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  }</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</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="l00164"></a><span class="lineno"> 164</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="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
+<div class="fragment"><div class="line"><a name="l00146"></a><span class="lineno"> 146</span> {</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(<span class="keyword">nullptr</span> == multi_hog, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(0 == multi_hog->num_models(), <span class="keyword">function</span>, file, line);</div><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">for</span>(<span class="keywordtype">size_t</span> i = 1; i < multi_hog->num_models(); ++i)</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  {</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(multi_hog->model(0)->info()->phase_type() != multi_hog->model(i)->info()->phase_type(),</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keyword">function</span>, file, line,</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="stringliteral">"All HOG parameters must have the same phase type"</span>);</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(multi_hog->model(0)->info()->normalization_type() != multi_hog->model(i)->info()->normalization_type(),</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keyword">function</span>, file, line,</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="stringliteral">"All HOG parameters must have the same normalization type"</span>);</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>((multi_hog->model(0)->info()->l2_hyst_threshold() != multi_hog->model(i)->info()->l2_hyst_threshold())</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  && (multi_hog->model(0)->info()->normalization_type() == <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">arm_compute::HOGNormType::L2HYS_NORM</a>),</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keyword">function</span>, file, line,</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="stringliteral">"All HOG parameters must have the same l2 hysteresis threshold if you use L2 hysteresis normalization type"</span>);</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  }</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</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="l00164"></a><span class="lineno"> 164</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="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="classarm__compute_1_1_i_h_o_g.xhtml#a4e9b5d4ab15fd9009b463861c1a19dbd">IHOG::info()</a>, <a class="el" href="_h_o_g_info_8cpp_source.xhtml#l00121">HOGInfo::l2_hyst_threshold()</a>, <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">L2HYS_NORM</a>, <a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml#a75e828c2dc5a300d224761a410c0925f">IMultiHOG::model()</a>, <a class="el" href="_h_o_g_info_8cpp_source.xhtml#l00116">HOGInfo::normalization_type()</a>, <a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml#a36ab43f5c3606001dcd2468b955f3e02">IMultiHOG::num_models()</a>, and <a class="el" href="_h_o_g_info_8cpp_source.xhtml#l00126">HOGInfo::phase_type()</a>.</p>
+
</div>
</div>
<a id="a9f83032f49a13db29baa1af1a62e5627"></a>
@@ -12019,20 +12891,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">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">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>
</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>
+<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 class="definition">Definition at line <a class="el" href="_validate_8cpp_source.xhtml#l00176">176</a> of file <a class="el" href="_validate_8cpp_source.xhtml">Validate.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00081">Dimensions< T >::x()</a>, and <a class="el" href="_dimensions_8h_source.xhtml#l00086">Dimensions< T >::y()</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="comment">// Subtensor should not index in x, y dimensions.</span></div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(((coords.x() != 0) || (coords.y() != 0)), <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <span class="comment">// Subtensor shape should match parent tensor in x, y dimensions.</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(((parent_shape.x() != <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>.x()) || (parent_shape.y() != <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>.y())), <span class="keyword">function</span>, file, line);</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>  <span class="comment">// Check dimensions</span></div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < TensorShape::num_max_dimensions; ++i)</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>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(((coords[i] >= static_cast<int>(parent_shape[i])) || (coords[i] + static_cast<int>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>[i]) > static_cast<int>(parent_shape[i]))),</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="keyword">function</span>, file, line);</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="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</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_arithmetic_division_8cpp_source.xhtml#l00096">ArithmeticDivision.cpp:96</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></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="comment">// Subtensor should not index in x, y dimensions.</span></div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(((coords.x() != 0) || (coords.y() != 0)), <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <span class="comment">// Subtensor shape should match parent tensor in x, y dimensions.</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(((parent_shape.x() != <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>.x()) || (parent_shape.y() != <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>.y())), <span class="keyword">function</span>, file, line);</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>  <span class="comment">// Check dimensions</span></div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < TensorShape::num_max_dimensions; ++i)</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>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(((coords[i] >= static_cast<int>(parent_shape[i])) || (coords[i] + static_cast<int>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>[i]) > static_cast<int>(parent_shape[i]))),</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="keyword">function</span>, file, line);</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="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</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_absolute_difference_8cpp_source.xhtml#l00097">AbsoluteDifference.cpp:97</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00097">arm_compute::test::validation::shape</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00081">Dimensions< T >::x()</a>, and <a class="el" href="_dimensions_8h_source.xhtml#l00086">Dimensions< T >::y()</a>.</p>
+
</div>
</div>
<a id="ac2ab765daf6f586ceaa12575743361e7"></a>
@@ -12090,17 +12962,17 @@
</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>
+<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 class="definition">Definition at line <a class="el" href="_validate_8cpp_source.xhtml#l00193">193</a> of file <a class="el" href="_validate_8cpp_source.xhtml">Validate.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00281">ValidRegion::anchor</a>, <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00282">ValidRegion::shape</a>.</p>
-<div class="fragment"><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="comment">// Check valid regions</span></div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> d = 0; d < TensorShape::num_max_dimensions; ++d)</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>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>((parent_valid_region.anchor[d] > <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7819bcbbf45c2e7c1396a137dce54422">valid_region</a>.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">anchor</a>[d]), <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>((parent_valid_region.anchor[d] + static_cast<int>(parent_valid_region.shape[d])) < (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7819bcbbf45c2e7c1396a137dce54422">valid_region</a>.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">anchor</a>[d] + static_cast<int>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7819bcbbf45c2e7c1396a137dce54422">valid_region</a>.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">shape</a>[d])),</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <span class="keyword">function</span>, file, line);</div><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> </div><div class="line"><a name="l00204"></a><span class="lineno"> 204</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="l00205"></a><span class="lineno"> 205</span> }</div><div class="ttc" id="structarm__compute_1_1_valid_region_xhtml_a1fcd64682b37ed3c2098d0094ce788d8"><div class="ttname"><a href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">arm_compute::ValidRegion::shape</a></div><div class="ttdeci">TensorShape shape</div><div class="ttdoc">Shape of the valid region. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00282">Types.h:282</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7819bcbbf45c2e7c1396a137dce54422"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7819bcbbf45c2e7c1396a137dce54422">arm_compute::test::validation::valid_region</a></div><div class="ttdeci">const ValidRegion valid_region</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00107">ArithmeticDivision.cpp:107</a></div></div>
-<div class="ttc" id="structarm__compute_1_1_valid_region_xhtml_a55a69b397082accd94221dd10b722cf7"><div class="ttname"><a href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">arm_compute::ValidRegion::anchor</a></div><div class="ttdeci">Coordinates anchor</div><div class="ttdoc">Anchor for the start of the valid region. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00281">Types.h:281</a></div></div>
+<div class="fragment"><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="comment">// Check valid regions</span></div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> d = 0; d < TensorShape::num_max_dimensions; ++d)</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>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>((parent_valid_region.anchor[d] > <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7819bcbbf45c2e7c1396a137dce54422">valid_region</a>.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">anchor</a>[d]), <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>((parent_valid_region.anchor[d] + static_cast<int>(parent_valid_region.shape[d])) < (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7819bcbbf45c2e7c1396a137dce54422">valid_region</a>.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">anchor</a>[d] + static_cast<int>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7819bcbbf45c2e7c1396a137dce54422">valid_region</a>.<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">shape</a>[d])),</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <span class="keyword">function</span>, file, line);</div><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> </div><div class="line"><a name="l00204"></a><span class="lineno"> 204</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="l00205"></a><span class="lineno"> 205</span> }</div><div class="ttc" id="structarm__compute_1_1_valid_region_xhtml_a1fcd64682b37ed3c2098d0094ce788d8"><div class="ttname"><a href="structarm__compute_1_1_valid_region.xhtml#a1fcd64682b37ed3c2098d0094ce788d8">arm_compute::ValidRegion::shape</a></div><div class="ttdeci">TensorShape shape</div><div class="ttdoc">Shape of the valid region.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00301">Types.h:301</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7819bcbbf45c2e7c1396a137dce54422"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7819bcbbf45c2e7c1396a137dce54422">arm_compute::test::validation::valid_region</a></div><div class="ttdeci">const ValidRegion valid_region</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00109">AbsoluteDifference.cpp:109</a></div></div>
+<div class="ttc" id="structarm__compute_1_1_valid_region_xhtml_a55a69b397082accd94221dd10b722cf7"><div class="ttname"><a href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">arm_compute::ValidRegion::anchor</a></div><div class="ttdeci">Coordinates anchor</div><div class="ttdoc">Anchor for the start of the valid region.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00300">Types.h:300</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00300">ValidRegion::anchor</a>, <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00301">ValidRegion::shape</a>, and <a class="el" href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00109">arm_compute::test::validation::valid_region</a>.</p>
+
</div>
</div>
<a id="ae93ff1ca47057b95d0c6fd0d287253a8"></a>
@@ -12163,17 +13035,18 @@
</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>
+<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 class="definition">Definition at line <a class="el" href="_validate_8cpp_source.xhtml#l00041">41</a> of file <a class="el" href="_validate_8cpp_source.xhtml">Validate.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00045">Dimensions< int >::num_max_dimensions</a>, and <a class="el" href="_window_8inl_source.xhtml#l00152">Window::validate()</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>  full.validate();</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a5cf018925dff7200819397bf8a295a0f">sub</a>.<a class="code" href="classarm__compute_1_1_c_l_arithmetic_subtraction.xhtml#a5e951bf3e414ddcd908245bcf284b08f">validate</a>();</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">for</span>(<span class="keywordtype">size_t</span> i = 0; i < <a class="code" href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">arm_compute::Coordinates::num_max_dimensions</a>; ++i)</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>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(full[i].start() > <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a5cf018925dff7200819397bf8a295a0f">sub</a>[i].start(), <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(full[i].end() < <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a5cf018925dff7200819397bf8a295a0f">sub</a>[i].end(), <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(full[i].step() != <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a5cf018925dff7200819397bf8a295a0f">sub</a>[i].step(), <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>((<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a5cf018925dff7200819397bf8a295a0f">sub</a>[i].start() - full[i].start()) % <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a5cf018925dff7200819397bf8a295a0f">sub</a>[i].step(), <span class="keyword">function</span>, file, line);</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> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> }</div><div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_c_l_arithmetic_subtraction_xhtml_a5e951bf3e414ddcd908245bcf284b08f"><div class="ttname"><a href="classarm__compute_1_1_c_l_arithmetic_subtraction.xhtml#a5e951bf3e414ddcd908245bcf284b08f">arm_compute::CLArithmeticSubtraction::validate</a></div><div class="ttdeci">static Status validate(const ITensorInfo *input1, const ITensorInfo *input2, const ITensorInfo *output, ConvertPolicy policy)</div><div class="ttdoc">Static function to check if given info will lead to a valid configuration of CLArithmeticSubtraction...</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_arithmetic_subtraction_8cpp_source.xhtml#l00051">CLArithmeticSubtraction.cpp:51</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a5cf018925dff7200819397bf8a295a0f"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a5cf018925dff7200819397bf8a295a0f">arm_compute::test::validation::sub</a></div><div class="ttdeci">CLArithmeticSubtraction sub</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00182">ArithmeticSubtraction.cpp:182</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a1b67d5b720119d50faa286c774579ecc"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">arm_compute::Dimensions< int >::num_max_dimensions</a></div><div class="ttdeci">static constexpr size_t num_max_dimensions</div><div class="ttdoc">Number of dimensions the tensor has. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00045">Dimensions.h:45</a></div></div>
+<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>  full.validate();</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a5cf018925dff7200819397bf8a295a0f">sub</a>.<a class="code" href="classarm__compute_1_1_n_e_arithmetic_subtraction.xhtml#a5e951bf3e414ddcd908245bcf284b08f">validate</a>();</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">for</span>(<span class="keywordtype">size_t</span> i = 0; i < <a class="code" href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">arm_compute::Coordinates::num_max_dimensions</a>; ++i)</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>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(full[i].start() > <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a5cf018925dff7200819397bf8a295a0f">sub</a>[i].start(), <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(full[i].end() < <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a5cf018925dff7200819397bf8a295a0f">sub</a>[i].end(), <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(full[i].<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a75b73e17c4ebe901e44af3b2b9846ab3">step</a>() != <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a5cf018925dff7200819397bf8a295a0f">sub</a>[i].<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a75b73e17c4ebe901e44af3b2b9846ab3">step</a>(), <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>((<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a5cf018925dff7200819397bf8a295a0f">sub</a>[i].start() - full[i].start()) % <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a5cf018925dff7200819397bf8a295a0f">sub</a>[i].<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a75b73e17c4ebe901e44af3b2b9846ab3">step</a>(), <span class="keyword">function</span>, file, line);</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> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> }</div><div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_n_e_arithmetic_subtraction_xhtml_a5e951bf3e414ddcd908245bcf284b08f"><div class="ttname"><a href="classarm__compute_1_1_n_e_arithmetic_subtraction.xhtml#a5e951bf3e414ddcd908245bcf284b08f">arm_compute::NEArithmeticSubtraction::validate</a></div><div class="ttdeci">static Status validate(const ITensorInfo *input1, const ITensorInfo *input2, const ITensorInfo *output, ConvertPolicy policy)</div><div class="ttdoc">Static function to check if given info will lead to a valid configuration of NEArithmeticSubtraction.</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_arithmetic_subtraction_8cpp_source.xhtml#l00051">NEArithmeticSubtraction.cpp:51</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a75b73e17c4ebe901e44af3b2b9846ab3"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a75b73e17c4ebe901e44af3b2b9846ab3">arm_compute::test::validation::step</a></div><div class="ttdeci">const int step</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_select_8cpp_source.xhtml#l00172">Select.cpp:172</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a5cf018925dff7200819397bf8a295a0f"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a5cf018925dff7200819397bf8a295a0f">arm_compute::test::validation::sub</a></div><div class="ttdeci">NEArithmeticSubtraction sub</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_arithmetic_subtraction_8cpp_source.xhtml#l00138">ArithmeticSubtraction.cpp:138</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a1b67d5b720119d50faa286c774579ecc"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">arm_compute::Dimensions< int >::num_max_dimensions</a></div><div class="ttdeci">static constexpr size_t num_max_dimensions</div><div class="ttdoc">Number of dimensions the tensor has.</div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00045">Dimensions.h:45</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00045">Dimensions< int >::num_max_dimensions</a>, <a class="el" href="_c_l_2_select_8cpp_source.xhtml#l00172">arm_compute::test::validation::step</a>, <a class="el" href="_n_e_o_n_2_arithmetic_subtraction_8cpp_source.xhtml#l00138">arm_compute::test::validation::sub</a>, <a class="el" href="_n_e_arithmetic_subtraction_8cpp_source.xhtml#l00051">NEArithmeticSubtraction::validate()</a>, and <a class="el" href="_window_8inl_source.xhtml#l00152">Window::validate()</a>.</p>
+
</div>
</div>
<a id="a8355d6db4cebee2724bf4463076526c6"></a>
@@ -12239,20 +13112,20 @@
</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>
+<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 class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00457">457</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-
+<div class="fragment"><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>  <a class="code" href="_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="l00461"></a><span class="lineno"> 461</span>  <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward<Ts>(tensor_infos)...));</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>  <a class="code" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> &&tensor_data_layout = tensor_info->data_layout();</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</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="l00465"></a><span class="lineno"> 465</span>  <a class="code" href="_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="l00466"></a><span class="lineno"> 466</span>  {</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  <span class="keywordflow">return</span> tensor_info_obj->data_layout() != tensor_data_layout;</div><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">function</span>, file, line, <span class="stringliteral">"Tensors have different data layouts"</span>);</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</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="l00471"></a><span class="lineno"> 471</span> }</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a069d7a20d1a7d62042f23039b356113b"><div class="ttname"><a href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">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#l00151">Validate.h:151</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ad1d5cce2d9e9a5d61c243e5c989112e0"><div class="ttname"><a href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">arm_compute::DataLayout</a></div><div class="ttdeci">DataLayout</div><div class="ttdoc">[DataLayout enum definition]</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00111">Types.h:111</a></div></div>
+</div><!-- fragment -->
<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a367b5090ab432bc7de2c32369e087ab1">ITensorInfo::data_layout()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00151">error_on_nullptr()</a>.</p>
<p class="reference">Referenced by <a class="el" href="_validate_8h_source.xhtml#l00483">error_on_mismatching_data_layouts()</a>.</p>
-<div class="fragment"><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>  <a class="code" href="_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="l00461"></a><span class="lineno"> 461</span>  <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward<Ts>(tensor_infos)...));</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>  <a class="code" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> &&tensor_data_layout = tensor_info->data_layout();</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</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="l00465"></a><span class="lineno"> 465</span>  <a class="code" href="_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="l00466"></a><span class="lineno"> 466</span>  {</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  <span class="keywordflow">return</span> tensor_info_obj->data_layout() != tensor_data_layout;</div><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">function</span>, file, line, <span class="stringliteral">"Tensors have different data layouts"</span>);</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</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="l00471"></a><span class="lineno"> 471</span> }</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a069d7a20d1a7d62042f23039b356113b"><div class="ttname"><a href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">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#l00151">Validate.h:151</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ad1d5cce2d9e9a5d61c243e5c989112e0"><div class="ttname"><a href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">arm_compute::DataLayout</a></div><div class="ttdeci">DataLayout</div><div class="ttdoc">[DataLayout enum definition] </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00111">Types.h:111</a></div></div>
-</div><!-- fragment -->
+
</div>
</div>
<a id="ad6e5ea4c65e9a0e7853ce314024c955d"></a>
@@ -12318,17 +13191,17 @@
</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>
+<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 class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00483">483</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00457">error_on_mismatching_data_layouts()</a>, <a class="el" href="_validate_8h_source.xhtml#l00151">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="l00485"></a><span class="lineno"> 485</span> {</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  <a class="code" href="_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="l00487"></a><span class="lineno"> 487</span>  <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward<Ts>(tensors)...));</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a8355d6db4cebee2724bf4463076526c6">arm_compute::error_on_mismatching_data_layouts</a>(<span class="keyword">function</span>, file, line, tensor->info(),</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  detail::get_tensor_info_t<ITensorInfo *>()(tensors)...));</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</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="l00491"></a><span class="lineno"> 491</span> }</div><div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a069d7a20d1a7d62042f23039b356113b"><div class="ttname"><a href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">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#l00151">Validate.h:151</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a8355d6db4cebee2724bf4463076526c6"><div class="ttname"><a href="namespacearm__compute.xhtml#a8355d6db4cebee2724bf4463076526c6">arm_compute::error_on_mismatching_data_layouts</a></div><div class="ttdeci">arm_compute::Status error_on_mismatching_data_layouts(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 tensor infos have different data layouts. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00457">Validate.h:457</a></div></div>
+<div class="fragment"><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>  <a class="code" href="_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="l00487"></a><span class="lineno"> 487</span>  <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward<Ts>(tensors)...));</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a8355d6db4cebee2724bf4463076526c6">arm_compute::error_on_mismatching_data_layouts</a>(<span class="keyword">function</span>, file, line, tensor->info(),</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  detail::get_tensor_info_t<ITensorInfo *>()(tensors)...));</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</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="l00491"></a><span class="lineno"> 491</span> }</div><div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a069d7a20d1a7d62042f23039b356113b"><div class="ttname"><a href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">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#l00151">Validate.h:151</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a8355d6db4cebee2724bf4463076526c6"><div class="ttname"><a href="namespacearm__compute.xhtml#a8355d6db4cebee2724bf4463076526c6">arm_compute::error_on_mismatching_data_layouts</a></div><div class="ttdeci">arm_compute::Status error_on_mismatching_data_layouts(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 tensor infos have different data layouts.</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00457">Validate.h:457</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00457">error_on_mismatching_data_layouts()</a>, <a class="el" href="_validate_8h_source.xhtml#l00151">error_on_nullptr()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
+
</div>
</div>
<a id="a85c38583df1a7998d58c51f7c3d4b354"></a>
@@ -12394,20 +13267,20 @@
</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>
+<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 class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00508">508</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-
+<div class="fragment"><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>  <a class="code" href="_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="l00512"></a><span class="lineno"> 512</span>  <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward<Ts>(tensor_infos)...));</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>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &&tensor_data_type = tensor_info->data_type();</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</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="l00516"></a><span class="lineno"> 516</span>  <a class="code" href="_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="l00517"></a><span class="lineno"> 517</span>  {</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  <span class="keywordflow">return</span> tensor_info_obj->data_type() != tensor_data_type;</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="keyword">function</span>, file, line, <span class="stringliteral">"Tensors have different data types"</span>);</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</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="l00522"></a><span class="lineno"> 522</span> }</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a069d7a20d1a7d62042f23039b356113b"><div class="ttname"><a href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">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#l00151">Validate.h:151</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="_error_8h_source.xhtml#l00052">Error.h:52</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#l00074">Types.h:74</a></div></div>
+</div><!-- fragment -->
<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00193">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#l00151">error_on_nullptr()</a>.</p>
<p class="reference">Referenced by <a class="el" href="_validate_8h_source.xhtml#l00534">error_on_mismatching_data_types()</a>.</p>
-<div class="fragment"><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>  <a class="code" href="_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="l00512"></a><span class="lineno"> 512</span>  <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward<Ts>(tensor_infos)...));</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>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &&tensor_data_type = tensor_info->data_type();</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</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="l00516"></a><span class="lineno"> 516</span>  <a class="code" href="_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="l00517"></a><span class="lineno"> 517</span>  {</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  <span class="keywordflow">return</span> tensor_info_obj->data_type() != tensor_data_type;</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="keyword">function</span>, file, line, <span class="stringliteral">"Tensors have different data types"</span>);</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</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="l00522"></a><span class="lineno"> 522</span> }</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a069d7a20d1a7d62042f23039b356113b"><div class="ttname"><a href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">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#l00151">Validate.h:151</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="_error_8h_source.xhtml#l00052">Error.h:52</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#l00074">Types.h:74</a></div></div>
-</div><!-- fragment -->
+
</div>
</div>
<a id="aa8b68ddd24c352a4cdd4fb1eea263429"></a>
@@ -12473,17 +13346,17 @@
</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>
+<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 class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00534">534</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00508">error_on_mismatching_data_types()</a>, <a class="el" href="_validate_8h_source.xhtml#l00151">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="l00536"></a><span class="lineno"> 536</span> {</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>  <a class="code" href="_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="l00538"></a><span class="lineno"> 538</span>  <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward<Ts>(tensors)...));</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a85c38583df1a7998d58c51f7c3d4b354">arm_compute::error_on_mismatching_data_types</a>(<span class="keyword">function</span>, file, line, tensor->info(),</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>  detail::get_tensor_info_t<ITensorInfo *>()(tensors)...));</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</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="l00542"></a><span class="lineno"> 542</span> }</div><div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a069d7a20d1a7d62042f23039b356113b"><div class="ttname"><a href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">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#l00151">Validate.h:151</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a85c38583df1a7998d58c51f7c3d4b354"><div class="ttname"><a href="namespacearm__compute.xhtml#a85c38583df1a7998d58c51f7c3d4b354">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#l00508">Validate.h:508</a></div></div>
+<div class="fragment"><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>  <a class="code" href="_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="l00538"></a><span class="lineno"> 538</span>  <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward<Ts>(tensors)...));</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a85c38583df1a7998d58c51f7c3d4b354">arm_compute::error_on_mismatching_data_types</a>(<span class="keyword">function</span>, file, line, tensor->info(),</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>  detail::get_tensor_info_t<ITensorInfo *>()(tensors)...));</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</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="l00542"></a><span class="lineno"> 542</span> }</div><div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a069d7a20d1a7d62042f23039b356113b"><div class="ttname"><a href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">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#l00151">Validate.h:151</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a85c38583df1a7998d58c51f7c3d4b354"><div class="ttname"><a href="namespacearm__compute.xhtml#a85c38583df1a7998d58c51f7c3d4b354">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#l00508">Validate.h:508</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00508">error_on_mismatching_data_types()</a>, <a class="el" href="_validate_8h_source.xhtml#l00151">error_on_nullptr()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
+
</div>
</div>
<a id="a632c1b33a482f7126de4aca221542b64"></a>
@@ -12548,15 +13421,15 @@
</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>
+<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 class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00280">280</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, and <a class="el" href="_validate_8h_source.xhtml#l00108">arm_compute::detail::for_each_error()</a>.</p>
-<div class="fragment"><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="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(<a class="code" href="namespacearm__compute_1_1detail.xhtml#a7955712fcb1027a92679cf656e9394cb">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="l00284"></a><span class="lineno"> 284</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="l00285"></a><span class="lineno"> 285</span> }</div><div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00193">Error.h:193</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
+<div class="fragment"><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="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(<a class="code" href="namespacearm__compute_1_1detail.xhtml#a7955712fcb1027a92679cf656e9394cb">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="l00284"></a><span class="lineno"> 284</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="l00285"></a><span class="lineno"> 285</span> }</div><div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00193">Error.h:193</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1detail_xhtml_a7955712fcb1027a92679cf656e9394cb"><div class="ttname"><a href="namespacearm__compute_1_1detail.xhtml#a7955712fcb1027a92679cf656e9394cb">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#l00114">Validate.h:114</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, and <a class="el" href="_validate_8h_source.xhtml#l00108">arm_compute::detail::for_each_error()</a>.</p>
+
</div>
</div>
<a id="a49e1fb8719a6e3b4db298796bdeac758"></a>
@@ -12630,18 +13503,18 @@
</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>
+<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 class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00562">562</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00231">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#l00996">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>
+<div class="fragment"><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>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &&first_data_type = tensor_info_1->data_type();</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>  <span class="keyword">const</span> QuantizationInfo first_quantization_info = tensor_info_1->quantization_info();</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>(!<a class="code" href="namespacearm__compute.xhtml#a14f46283f316e7f0fad301d5c1507e9f">is_data_type_quantized_asymmetric</a>(first_data_type))</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> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</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="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="l00574"></a><span class="lineno"> 574</span>  <a class="code" href="_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="l00575"></a><span class="lineno"> 575</span>  {</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>  <span class="keywordflow">return</span> tensor_info->data_type() != first_data_type;</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>  }),</div><div class="line"><a name="l00578"></a><span class="lineno"> 578</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="l00579"></a><span class="lineno"> 579</span>  <a class="code" href="_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="l00580"></a><span class="lineno"> 580</span>  {</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>  <span class="keywordflow">return</span> tensor_info->quantization_info() != first_quantization_info;</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="keyword">function</span>, file, line, <span class="stringliteral">"Tensors have different quantization information"</span>);</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span> </div><div class="line"><a name="l00585"></a><span class="lineno"> 585</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="l00586"></a><span class="lineno"> 586</span> }</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00231">Error.h:231</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="_error_8h_source.xhtml#l00052">Error.h:52</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#l01014">Utils.h:1014</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#l00074">Types.h:74</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00231">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#l01014">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 class="reference">Referenced by <a class="el" href="_validate_8h_source.xhtml#l00601">error_on_mismatching_quantization_info()</a>.</p>
-<div class="fragment"><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>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &&first_data_type = tensor_info_1->data_type();</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>  <span class="keyword">const</span> QuantizationInfo first_quantization_info = tensor_info_1->quantization_info();</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>(!<a class="code" href="namespacearm__compute.xhtml#a14f46283f316e7f0fad301d5c1507e9f">is_data_type_quantized_asymmetric</a>(first_data_type))</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> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</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="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="l00574"></a><span class="lineno"> 574</span>  <a class="code" href="_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="l00575"></a><span class="lineno"> 575</span>  {</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>  <span class="keywordflow">return</span> tensor_info->data_type() != first_data_type;</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>  }),</div><div class="line"><a name="l00578"></a><span class="lineno"> 578</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="l00579"></a><span class="lineno"> 579</span>  <a class="code" href="_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="l00580"></a><span class="lineno"> 580</span>  {</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>  <span class="keywordflow">return</span> tensor_info->quantization_info() != first_quantization_info;</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="keyword">function</span>, file, line, <span class="stringliteral">"Tensors have different quantization information"</span>);</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span> </div><div class="line"><a name="l00585"></a><span class="lineno"> 585</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="l00586"></a><span class="lineno"> 586</span> }</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00231">Error.h:231</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="_error_8h_source.xhtml#l00052">Error.h:52</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#l00996">Utils.h:996</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#l00074">Types.h:74</a></div></div>
-</div><!-- fragment -->
+
</div>
</div>
<a id="a3ba911901c6a47649cba6884e0f43a18"></a>
@@ -12715,15 +13588,15 @@
</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>
+<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 class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00601">601</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00562">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="l00603"></a><span class="lineno"> 603</span> {</div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>  <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a49e1fb8719a6e3b4db298796bdeac758">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="l00605"></a><span class="lineno"> 605</span>  detail::get_tensor_info_t<ITensorInfo *>()(tensors)...));</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</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="l00607"></a><span class="lineno"> 607</span> }</div><div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00193">Error.h:193</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
+<div class="fragment"><div class="line"><a name="l00603"></a><span class="lineno"> 603</span> {</div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>  <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a49e1fb8719a6e3b4db298796bdeac758">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="l00605"></a><span class="lineno"> 605</span>  detail::get_tensor_info_t<ITensorInfo *>()(tensors)...));</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</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="l00607"></a><span class="lineno"> 607</span> }</div><div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00193">Error.h:193</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a49e1fb8719a6e3b4db298796bdeac758"><div class="ttname"><a href="namespacearm__compute.xhtml#a49e1fb8719a6e3b4db298796bdeac758">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#l00562">Validate.h:562</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00562">error_on_mismatching_quantization_info()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
+
</div>
</div>
<a id="a900072ec18ac254db40901425e2b35b2"></a>
@@ -12796,15 +13669,16 @@
</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>
+<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 class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00368">368</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-
-<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</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> <a class="code" href="namespacearm__compute.xhtml#a7a314d37a14fb002f52a148122238499">error_on_mismatching_shapes</a>(<span class="keyword">function</span>, file, line, 0<a class="code" href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">U</a>, tensor_info_1, tensor_info_2, std::forward<Ts>(tensor_infos)...);</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span> }</div><div class="ttc" id="namespacearm__compute_1_1utils_1_1cast_xhtml_a2ea3d1fc01a3a442900249ca182ffa5e"><div class="ttname"><a href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">arm_compute::utils::cast::U</a></div><div class="ttdeci">U</div><div class="ttdef"><b>Definition:</b> <a href="_saturate_cast_8h_source.xhtml#l00057">SaturateCast.h:57</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a7a314d37a14fb002f52a148122238499"><div class="ttname"><a href="namespacearm__compute.xhtml#a7a314d37a14fb002f52a148122238499">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#l00431">Validate.h:431</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_saturate_cast_8h_source.xhtml#l00057">arm_compute::utils::cast::U</a>.</p>
<p class="reference">Referenced by <a class="el" href="_validate_8h_source.xhtml#l00385">error_on_mismatching_shapes()</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> <a class="code" href="namespacearm__compute.xhtml#a7a314d37a14fb002f52a148122238499">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="l00372"></a><span class="lineno"> 372</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a7a314d37a14fb002f52a148122238499"><div class="ttname"><a href="namespacearm__compute.xhtml#a7a314d37a14fb002f52a148122238499">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#l00431">Validate.h:431</a></div></div>
-</div><!-- fragment -->
+
</div>
</div>
<a id="a196a1a4faf1a8893963fd89d7efaf5d9"></a>
@@ -12877,13 +13751,14 @@
</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>
+<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 class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00385">385</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_validate_8h_source.xhtml#l00368">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="l00387"></a><span class="lineno"> 387</span> {</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a7a314d37a14fb002f52a148122238499">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="l00389"></a><span class="lineno"> 389</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a7a314d37a14fb002f52a148122238499"><div class="ttname"><a href="namespacearm__compute.xhtml#a7a314d37a14fb002f52a148122238499">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#l00431">Validate.h:431</a></div></div>
+<div class="fragment"><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>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a7a314d37a14fb002f52a148122238499">error_on_mismatching_shapes</a>(<span class="keyword">function</span>, file, line, 0<a class="code" href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">U</a>, tensor_1, tensor_2, std::forward<Ts>(tensors)...);</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span> }</div><div class="ttc" id="namespacearm__compute_1_1utils_1_1cast_xhtml_a2ea3d1fc01a3a442900249ca182ffa5e"><div class="ttname"><a href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">arm_compute::utils::cast::U</a></div><div class="ttdeci">U</div><div class="ttdef"><b>Definition:</b> <a href="_saturate_cast_8h_source.xhtml#l00057">SaturateCast.h:57</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a7a314d37a14fb002f52a148122238499"><div class="ttname"><a href="namespacearm__compute.xhtml#a7a314d37a14fb002f52a148122238499">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#l00431">Validate.h:431</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_validate_8h_source.xhtml#l00368">error_on_mismatching_shapes()</a>, and <a class="el" href="_saturate_cast_8h_source.xhtml#l00057">arm_compute::utils::cast::U</a>.</p>
+
</div>
</div>
<a id="a8f08e05970c101f7a9c852dc036f5ffb"></a>
@@ -12963,18 +13838,18 @@
</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>
+<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 class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00403">403</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00151">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="l00405"></a><span class="lineno"> 405</span> {</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  <a class="code" href="_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="l00407"></a><span class="lineno"> 407</span>  <a class="code" href="_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="l00408"></a><span class="lineno"> 408</span>  <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward<Ts>(tensor_infos)...));</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="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="l00411"></a><span class="lineno"> 411</span>  <a class="code" href="_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="l00412"></a><span class="lineno"> 412</span>  {</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</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="l00414"></a><span class="lineno"> 414</span>  }),</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  <span class="keyword">function</span>, file, line, <span class="stringliteral">"Tensors have different shapes"</span>);</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</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="l00417"></a><span class="lineno"> 417</span> }</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a069d7a20d1a7d62042f23039b356113b"><div class="ttname"><a href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">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#l00151">Validate.h:151</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></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>  <a class="code" href="_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="l00407"></a><span class="lineno"> 407</span>  <a class="code" href="_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="l00408"></a><span class="lineno"> 408</span>  <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward<Ts>(tensor_infos)...));</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="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="l00411"></a><span class="lineno"> 411</span>  <a class="code" href="_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="l00412"></a><span class="lineno"> 412</span>  {</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</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="l00414"></a><span class="lineno"> 414</span>  }),</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  <span class="keyword">function</span>, file, line, <span class="stringliteral">"Tensors have different shapes"</span>);</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</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="l00417"></a><span class="lineno"> 417</span> }</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a069d7a20d1a7d62042f23039b356113b"><div class="ttname"><a href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">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#l00151">Validate.h:151</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="_error_8h_source.xhtml#l00052">Error.h:52</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><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00151">error_on_nullptr()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00051">arm_compute::detail::have_different_dimensions()</a>.</p>
+
</div>
</div>
<a id="a7a314d37a14fb002f52a148122238499"></a>
@@ -13054,17 +13929,17 @@
</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>
+<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 class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00431">431</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00368">error_on_mismatching_shapes()</a>, <a class="el" href="_validate_8h_source.xhtml#l00151">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="l00433"></a><span class="lineno"> 433</span> {</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  <a class="code" href="_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="l00435"></a><span class="lineno"> 435</span>  <a class="code" href="_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="l00436"></a><span class="lineno"> 436</span>  <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward<Ts>(tensors)...));</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a900072ec18ac254db40901425e2b35b2">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="l00438"></a><span class="lineno"> 438</span>  detail::get_tensor_info_t<ITensorInfo *>()(tensors)...));</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</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="l00440"></a><span class="lineno"> 440</span> }</div><div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a069d7a20d1a7d62042f23039b356113b"><div class="ttname"><a href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">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#l00151">Validate.h:151</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a900072ec18ac254db40901425e2b35b2"><div class="ttname"><a href="namespacearm__compute.xhtml#a900072ec18ac254db40901425e2b35b2">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#l00368">Validate.h:368</a></div></div>
+<div class="fragment"><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>  <a class="code" href="_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="l00435"></a><span class="lineno"> 435</span>  <a class="code" href="_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="l00436"></a><span class="lineno"> 436</span>  <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward<Ts>(tensors)...));</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a900072ec18ac254db40901425e2b35b2">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="l00438"></a><span class="lineno"> 438</span>  detail::get_tensor_info_t<ITensorInfo *>()(tensors)...));</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</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="l00440"></a><span class="lineno"> 440</span> }</div><div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a069d7a20d1a7d62042f23039b356113b"><div class="ttname"><a href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">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#l00151">Validate.h:151</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a900072ec18ac254db40901425e2b35b2"><div class="ttname"><a href="namespacearm__compute.xhtml#a900072ec18ac254db40901425e2b35b2">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#l00368">Validate.h:368</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00368">error_on_mismatching_shapes()</a>, <a class="el" href="_validate_8h_source.xhtml#l00151">error_on_nullptr()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
+
</div>
</div>
<a id="ad7f5b38e9d5391afc4a5ce5702e7379b"></a>
@@ -13123,19 +13998,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">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>
-<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>
+<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 class="definition">Definition at line <a class="el" href="_validate_8cpp_source.xhtml#l00026">26</a> of file <a class="el" href="_validate_8cpp_source.xhtml">Validate.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00045">Dimensions< int >::num_max_dimensions</a>, and <a class="el" href="_window_8inl_source.xhtml#l00152">Window::validate()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> {</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  full.validate();</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  win.validate();</div><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>  <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> i = 0; i < <a class="code" href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">arm_compute::Coordinates::num_max_dimensions</a>; ++i)</div><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#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(full[i].start() != win[i].start(), <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(full[i].end() != win[i].end(), <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(full[i].step() != win[i].step(), <span class="keyword">function</span>, file, line);</div><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="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> }</div><div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a1b67d5b720119d50faa286c774579ecc"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">arm_compute::Dimensions< int >::num_max_dimensions</a></div><div class="ttdeci">static constexpr size_t num_max_dimensions</div><div class="ttdoc">Number of dimensions the tensor has. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00045">Dimensions.h:45</a></div></div>
+<div class="fragment"><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> {</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  full.validate();</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  win.validate();</div><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>  <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> i = 0; i < <a class="code" href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">arm_compute::Coordinates::num_max_dimensions</a>; ++i)</div><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#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(full[i].start() != win[i].start(), <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(full[i].end() != win[i].end(), <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(full[i].<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a75b73e17c4ebe901e44af3b2b9846ab3">step</a>() != win[i].<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a75b73e17c4ebe901e44af3b2b9846ab3">step</a>(), <span class="keyword">function</span>, file, line);</div><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="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> }</div><div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a75b73e17c4ebe901e44af3b2b9846ab3"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a75b73e17c4ebe901e44af3b2b9846ab3">arm_compute::test::validation::step</a></div><div class="ttdeci">const int step</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_select_8cpp_source.xhtml#l00172">Select.cpp:172</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a1b67d5b720119d50faa286c774579ecc"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">arm_compute::Dimensions< int >::num_max_dimensions</a></div><div class="ttdeci">static constexpr size_t num_max_dimensions</div><div class="ttdoc">Number of dimensions the tensor has.</div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00045">Dimensions.h:45</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00045">Dimensions< int >::num_max_dimensions</a>, <a class="el" href="_c_l_2_select_8cpp_source.xhtml#l00172">arm_compute::test::validation::step</a>, and <a class="el" href="_window_8inl_source.xhtml#l00152">Window::validate()</a>.</p>
+
</div>
</div>
<a id="a069d7a20d1a7d62042f23039b356113b"></a>
@@ -13194,16 +14070,16 @@
</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>
+<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 class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00151">151</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-
+<div class="fragment"><div class="line"><a name="l00152"></a><span class="lineno"> 152</span> {</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</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="l00154"></a><span class="lineno"> 154</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="l00155"></a><span class="lineno"> 155</span>  {</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keywordflow">return</span> (ptr == <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  });</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <a class="code" href="_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="l00159"></a><span class="lineno"> 159</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="l00160"></a><span class="lineno"> 160</span> }</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00231">Error.h:231</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
+</div><!-- fragment -->
<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>.</p>
<p class="reference">Referenced by <a class="el" href="_validate_8h_source.xhtml#l00457">error_on_mismatching_data_layouts()</a>, <a class="el" href="_validate_8h_source.xhtml#l00508">error_on_mismatching_data_types()</a>, <a class="el" href="_validate_8h_source.xhtml#l00403">error_on_mismatching_shapes()</a>, <a class="el" href="_validate_8h_source.xhtml#l00303">error_on_tensors_not_even()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00336">error_on_tensors_not_subsampled()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00152"></a><span class="lineno"> 152</span> {</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</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="l00154"></a><span class="lineno"> 154</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="l00155"></a><span class="lineno"> 155</span>  {</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keywordflow">return</span> (ptr == <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  });</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <a class="code" href="_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="l00159"></a><span class="lineno"> 159</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="l00160"></a><span class="lineno"> 160</span> }</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00231">Error.h:231</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
-</div><!-- fragment -->
+
</div>
</div>
<a id="a398f32595ee55b858853d5bcdcacfef5"></a>
@@ -13250,21 +14126,19 @@
<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>
+<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 class="definition">Definition at line <a class="el" href="_validate_8cpp_source.xhtml#l00092">92</a> of file <a class="el" href="_validate_8cpp_source.xhtml">Validate.cpp</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="_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="l00096"></a><span class="lineno"> 96</span>  <a class="code" href="_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="l00097"></a><span class="lineno"> 97</span>  <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(tensor->info()->num_dimensions() != 2,</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keyword">function</span>, file, line,</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="stringliteral">"Only 2D Tensors are supported by this kernel (%d passed)"</span>, tensor->info()->num_dimensions());</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</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="l00101"></a><span class="lineno"> 101</span> }</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
+</div><!-- fragment -->
<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</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#a1f4e725b8e1ea36b30e09dc08ae6961d">ITensorInfo::num_dimensions()</a>.</p>
-<p class="reference">Referenced by <a class="el" href="_validate_8h_source.xhtml#l00823">error_on_unsupported_fp16()</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="_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="l00096"></a><span class="lineno"> 96</span>  <a class="code" href="_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="l00097"></a><span class="lineno"> 97</span>  <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(tensor->info()->num_dimensions() != 2,</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keyword">function</span>, file, line,</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="stringliteral">"Only 2D Tensors are supported by this kernel (%d passed)"</span>, tensor->info()->num_dimensions());</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</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="l00101"></a><span class="lineno"> 101</span> }</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
-</div><!-- fragment -->
</div>
</div>
<a id="aa394a6ffa74616f886c889f04883663d"></a>
@@ -13311,19 +14185,19 @@
<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> info 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> info 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>
+<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 class="definition">Definition at line <a class="el" href="_validate_8cpp_source.xhtml#l00103">103</a> of file <a class="el" href="_validate_8cpp_source.xhtml">Validate.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a1f4e725b8e1ea36b30e09dc08ae6961d">ITensorInfo::num_dimensions()</a>.</p>
-<div class="fragment"><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>  <a class="code" href="_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="l00107"></a><span class="lineno"> 107</span>  <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(tensor->num_dimensions() != 2,</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keyword">function</span>, file, line,</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="stringliteral">"Only 2D Tensors are supported by this kernel (%d passed)"</span>, tensor->num_dimensions());</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</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="l00111"></a><span class="lineno"> 111</span> }</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
+<div class="fragment"><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>  <a class="code" href="_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="l00107"></a><span class="lineno"> 107</span>  <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(tensor->num_dimensions() != 2,</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keyword">function</span>, file, line,</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="stringliteral">"Only 2D Tensors are supported by this kernel (%d passed)"</span>, tensor->num_dimensions());</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</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="l00111"></a><span class="lineno"> 111</span> }</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a1f4e725b8e1ea36b30e09dc08ae6961d">ITensorInfo::num_dimensions()</a>.</p>
+
</div>
</div>
<a id="aa8bcb895249c9b0207df5d6512433aab"></a>
@@ -13388,19 +14262,19 @@
</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>
+<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 class="definition">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 class="reference">References <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00647">adjust_odd_shape()</a>, <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00151">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="l00305"></a><span class="lineno"> 305</span> {</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor1 == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward<Ts>(tensors)...));</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <span class="keyword">const</span> std::array < <span class="keyword">const</span> ITensor *, 1 + <span class="keyword">sizeof</span>...(Ts) > tensors_info_array{ { tensor1, std::forward<Ts>(tensors)... } };</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(std::any_of(tensors_info_array.cbegin(), tensors_info_array.cend(), [&](<span class="keyword">const</span> ITensor * tensor)</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="keyword">const</span> TensorShape correct_shape = <a class="code" href="namespacearm__compute.xhtml#add7f7487c235331a6518dd16ad1e3b38">adjust_odd_shape</a>(tensor->info()->tensor_shape(), format);</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1detail.xhtml#a45d610a8bc262f7007c934293361e888">detail::have_different_dimensions</a>(tensor->info()->tensor_shape(), correct_shape, 2);</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>  <span class="keyword">function</span>, file, line, <span class="stringliteral">"Tensor shape has odd dimensions"</span>);</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</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="l00316"></a><span class="lineno"> 316</span> }</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a069d7a20d1a7d62042f23039b356113b"><div class="ttname"><a href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">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#l00151">Validate.h:151</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></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>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor1 == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward<Ts>(tensors)...));</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <span class="keyword">const</span> std::array < <span class="keyword">const</span> ITensor *, 1 + <span class="keyword">sizeof</span>...(Ts) > tensors_info_array{ { tensor1, std::forward<Ts>(tensors)... } };</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(std::any_of(tensors_info_array.cbegin(), tensors_info_array.cend(), [&](<span class="keyword">const</span> ITensor * tensor)</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="keyword">const</span> TensorShape correct_shape = <a class="code" href="namespacearm__compute.xhtml#add7f7487c235331a6518dd16ad1e3b38">adjust_odd_shape</a>(tensor->info()->tensor_shape(), format);</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1detail.xhtml#a45d610a8bc262f7007c934293361e888">detail::have_different_dimensions</a>(tensor->info()->tensor_shape(), correct_shape, 2);</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>  <span class="keyword">function</span>, file, line, <span class="stringliteral">"Tensor shape has odd dimensions"</span>);</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</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="l00316"></a><span class="lineno"> 316</span> }</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a069d7a20d1a7d62042f23039b356113b"><div class="ttname"><a href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">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#l00151">Validate.h:151</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="_error_8h_source.xhtml#l00052">Error.h:52</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="namespacearm__compute_xhtml_add7f7487c235331a6518dd16ad1e3b38"><div class="ttname"><a href="namespacearm__compute.xhtml#add7f7487c235331a6518dd16ad1e3b38">arm_compute::adjust_odd_shape</a></div><div class="ttdeci">TensorShape adjust_odd_shape(const TensorShape &shape, Format format)</div><div class="ttdoc">Adjust tensor shape size if width or height are odd for a given multi-planar format. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00647">Utils.h:647</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_add7f7487c235331a6518dd16ad1e3b38"><div class="ttname"><a href="namespacearm__compute.xhtml#add7f7487c235331a6518dd16ad1e3b38">arm_compute::adjust_odd_shape</a></div><div class="ttdeci">TensorShape adjust_odd_shape(const TensorShape &shape, Format format)</div><div class="ttdoc">Adjust tensor shape size if width or height are odd for a given multi-planar format.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00647">Utils.h:647</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00647">adjust_odd_shape()</a>, <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00151">error_on_nullptr()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00051">arm_compute::detail::have_different_dimensions()</a>.</p>
+
</div>
</div>
<a id="a5865def3a35885dda73dd5f4d555d11c"></a>
@@ -13472,20 +14346,20 @@
</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>
+<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 class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00336">336</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00674">calculate_subsampled_shape()</a>, <a class="el" href="_validate_8h_source.xhtml#l00151">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="l00338"></a><span class="lineno"> 338</span> {</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor1 == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward<Ts>(tensors)...));</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <span class="keyword">const</span> TensorShape sub2_shape = <a class="code" href="namespacearm__compute.xhtml#a9d714e1b7d9d7818309138b7d830ebcb">calculate_subsampled_shape</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>, format);</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <span class="keyword">const</span> std::array < <span class="keyword">const</span> ITensor *, 1 + <span class="keyword">sizeof</span>...(Ts) > tensors_info_array{ { tensor1, std::forward<Ts>(tensors)... } };</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(std::any_of(tensors_info_array.cbegin(), tensors_info_array.cend(), [&](<span class="keyword">const</span> ITensor * tensor)</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="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1detail.xhtml#a45d610a8bc262f7007c934293361e888">detail::have_different_dimensions</a>(tensor->info()->tensor_shape(), sub2_shape, 2);</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="keyword">function</span>, file, line, <span class="stringliteral">"Tensor shape has mismatch dimensions for sub-sampling"</span>);</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</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="l00349"></a><span class="lineno"> 349</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_arithmetic_division_8cpp_source.xhtml#l00096">ArithmeticDivision.cpp:96</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a9d714e1b7d9d7818309138b7d830ebcb"><div class="ttname"><a href="namespacearm__compute.xhtml#a9d714e1b7d9d7818309138b7d830ebcb">arm_compute::calculate_subsampled_shape</a></div><div class="ttdeci">TensorShape calculate_subsampled_shape(const TensorShape &shape, Format format, Channel channel=Channel::UNKNOWN)</div><div class="ttdoc">Calculate subsampled shape for a given format and channel. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00674">Utils.h:674</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a069d7a20d1a7d62042f23039b356113b"><div class="ttname"><a href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">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#l00151">Validate.h:151</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
+<div class="fragment"><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>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor1 == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward<Ts>(tensors)...));</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <span class="keyword">const</span> TensorShape sub2_shape = <a class="code" href="namespacearm__compute.xhtml#a9d714e1b7d9d7818309138b7d830ebcb">calculate_subsampled_shape</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>, format);</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <span class="keyword">const</span> std::array < <span class="keyword">const</span> ITensor *, 1 + <span class="keyword">sizeof</span>...(Ts) > tensors_info_array{ { tensor1, std::forward<Ts>(tensors)... } };</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(std::any_of(tensors_info_array.cbegin(), tensors_info_array.cend(), [&](<span class="keyword">const</span> ITensor * tensor)</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="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1detail.xhtml#a45d610a8bc262f7007c934293361e888">detail::have_different_dimensions</a>(tensor->info()->tensor_shape(), sub2_shape, 2);</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="keyword">function</span>, file, line, <span class="stringliteral">"Tensor shape has mismatch dimensions for sub-sampling"</span>);</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</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="l00349"></a><span class="lineno"> 349</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_absolute_difference_8cpp_source.xhtml#l00097">AbsoluteDifference.cpp:97</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a9d714e1b7d9d7818309138b7d830ebcb"><div class="ttname"><a href="namespacearm__compute.xhtml#a9d714e1b7d9d7818309138b7d830ebcb">arm_compute::calculate_subsampled_shape</a></div><div class="ttdeci">TensorShape calculate_subsampled_shape(const TensorShape &shape, Format format, Channel channel=Channel::UNKNOWN)</div><div class="ttdoc">Calculate subsampled shape for a given format and channel.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00674">Utils.h:674</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a069d7a20d1a7d62042f23039b356113b"><div class="ttname"><a href="namespacearm__compute.xhtml#a069d7a20d1a7d62042f23039b356113b">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#l00151">Validate.h:151</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="_error_8h_source.xhtml#l00052">Error.h:52</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><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00674">calculate_subsampled_shape()</a>, <a class="el" href="_validate_8h_source.xhtml#l00151">error_on_nullptr()</a>, <a class="el" href="_validate_8h_source.xhtml#l00051">arm_compute::detail::have_different_dimensions()</a>, and <a class="el" href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00097">arm_compute::test::validation::shape</a>.</p>
+
</div>
</div>
<a id="acd11fc94aa2828fee0715de0297eb306"></a>
@@ -13532,19 +14406,19 @@
<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">kernel</td><td><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> to validate.</td></tr>
+ <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 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>
+<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 class="definition">Definition at line <a class="el" href="_validate_8cpp_source.xhtml#l00166">166</a> of file <a class="el" href="_validate_8cpp_source.xhtml">Validate.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</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="_i_kernel_8cpp_source.xhtml#l00028">IKernel::window()</a>, and <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</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>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(kernel == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>((kernel->window().x().start() == kernel->window().x().end()) && (kernel->window().x().end() == 0) && (kernel->window().x().step() == 0),</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keyword">function</span>, file, line,</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="stringliteral">"This kernel hasn't been configured."</span>);</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</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="l00174"></a><span class="lineno"> 174</span> }</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
+<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>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(kernel == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>((kernel->window().x().start() == kernel->window().x().end()) && (kernel->window().x().end() == 0) && (kernel->window().x().step() == 0),</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keyword">function</span>, file, line,</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="stringliteral">"This kernel hasn't been configured."</span>);</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</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="l00174"></a><span class="lineno"> 174</span> }</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</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="_i_kernel_8cpp_source.xhtml#l00028">IKernel::window()</a>, and <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>.</p>
+
</div>
</div>
<a id="a8e79316e933e15539e39cace39ba0e35"></a>
@@ -13599,21 +14473,21 @@
<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">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>
</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>
+<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 class="definition">Definition at line <a class="el" href="_c_p_p_2_validate_8h_source.xhtml#l00040">40</a> of file <a class="el" href="_c_p_p_2_validate_8h_source.xhtml">Validate.h</a>.</p>
-
+<div class="fragment"><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> {</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <a class="code" href="_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="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#ifndef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(tensor_info->data_type() == DataType::F16,</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keyword">function</span>, file, line, <span class="stringliteral">"This CPU architecture does not support F16 data type, you need v8.2 or above"</span>);</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#endif </span><span class="comment">/* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */</span><span class="preprocessor"></span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</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="l00049"></a><span class="lineno"> 49</span> }</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
+</div><!-- fragment -->
<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00231">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>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>.</p>
<p class="reference">Referenced by <a class="el" href="_c_p_p_2_validate_8h_source.xhtml#l00060">error_on_unsupported_cpu_fp16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> {</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <a class="code" href="_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="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#ifndef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(tensor_info->data_type() == DataType::F16,</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keyword">function</span>, file, line, <span class="stringliteral">"This CPU architecture does not support F16 data type, you need v8.2 or above"</span>);</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#endif </span><span class="comment">/* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */</span><span class="preprocessor"></span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</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="l00049"></a><span class="lineno"> 49</span> }</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
-</div><!-- fragment -->
+
</div>
</div>
<a id="af2619085e2d6192b99df91fd805d8d30"></a>
@@ -13668,20 +14542,20 @@
<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>
+<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 class="definition">Definition at line <a class="el" href="_c_p_p_2_validate_8h_source.xhtml#l00060">60</a> of file <a class="el" href="_c_p_p_2_validate_8h_source.xhtml">Validate.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_c_p_p_2_validate_8h_source.xhtml#l00040">error_on_unsupported_cpu_fp16()</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="l00062"></a><span class="lineno"> 62</span> {</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <a class="code" href="_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="l00064"></a><span class="lineno"> 64</span>  <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a8e79316e933e15539e39cace39ba0e35">arm_compute::error_on_unsupported_cpu_fp16</a>(<span class="keyword">function</span>, file, line, tensor->info()));</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</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="l00066"></a><span class="lineno"> 66</span> }</div><div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00193">Error.h:193</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
+<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>  <a class="code" href="_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="l00064"></a><span class="lineno"> 64</span>  <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a8e79316e933e15539e39cace39ba0e35">arm_compute::error_on_unsupported_cpu_fp16</a>(<span class="keyword">function</span>, file, line, tensor->info()));</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</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="l00066"></a><span class="lineno"> 66</span> }</div><div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00193">Error.h:193</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a8e79316e933e15539e39cace39ba0e35"><div class="ttname"><a href="namespacearm__compute.xhtml#a8e79316e933e15539e39cace39ba0e35">arm_compute::error_on_unsupported_cpu_fp16</a></div><div class="ttdeci">arm_compute::Status error_on_unsupported_cpu_fp16(const char *function, const char *file, const int line, const ITensorInfo *tensor_info)</div><div class="ttdoc">Return an error if the data type of the passed tensor info is FP16 and FP16 support is not compiled i...</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_2_validate_8h_source.xhtml#l00040">Validate.h:40</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_c_p_p_2_validate_8h_source.xhtml#l00040">error_on_unsupported_cpu_fp16()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
+
</div>
</div>
<a id="a76433394f276fbc92390850a15bd2cae"></a>
@@ -13742,22 +14616,22 @@
<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">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">is_fp16_supported</td><td>Is fp16 supported by the device.</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>
+<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 class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00804">804</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-
+<div class="fragment"><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>  <a class="code" href="_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="l00808"></a><span class="lineno"> 808</span>  <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>((tensor_info->data_type() == DataType::F16 && !is_fp16_supported),</div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>  <span class="keyword">function</span>, file, line, <span class="stringliteral">"FP16 not supported by the device"</span>);</div><div class="line"><a name="l00810"></a><span class="lineno"> 810</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="l00811"></a><span class="lineno"> 811</span> }</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
+</div><!-- fragment -->
<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00231">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>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>.</p>
<p class="reference">Referenced by <a class="el" href="_validate_8h_source.xhtml#l00823">error_on_unsupported_fp16()</a>.</p>
-<div class="fragment"><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>  <a class="code" href="_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="l00808"></a><span class="lineno"> 808</span>  <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>((tensor_info->data_type() == DataType::F16 && !is_fp16_supported),</div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>  <span class="keyword">function</span>, file, line, <span class="stringliteral">"FP16 not supported by the device"</span>);</div><div class="line"><a name="l00810"></a><span class="lineno"> 810</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="l00811"></a><span class="lineno"> 811</span> }</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
-</div><!-- fragment -->
+
</div>
</div>
<a id="aea2b331c31943c1f726c9f552348c89c"></a>
@@ -13818,21 +14692,21 @@
<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>
<tr><td class="paramdir">[in]</td><td class="paramname">is_fp16_supported</td><td>Is fp16 supported by the device.</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>
+<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 class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00823">823</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8cpp_source.xhtml#l00092">error_on_tensor_not_2d()</a>, <a class="el" href="_validate_8h_source.xhtml#l00804">error_on_unsupported_fp16()</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="l00825"></a><span class="lineno"> 825</span> {</div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span>  <a class="code" href="_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="l00827"></a><span class="lineno"> 827</span>  <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a76433394f276fbc92390850a15bd2cae">arm_compute::error_on_unsupported_fp16</a>(<span class="keyword">function</span>, file, line, tensor->info(), is_fp16_supported));</div><div class="line"><a name="l00828"></a><span class="lineno"> 828</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="l00829"></a><span class="lineno"> 829</span> }</div><div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
+<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>  <a class="code" href="_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="l00827"></a><span class="lineno"> 827</span>  <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a76433394f276fbc92390850a15bd2cae">arm_compute::error_on_unsupported_fp16</a>(<span class="keyword">function</span>, file, line, tensor->info(), is_fp16_supported));</div><div class="line"><a name="l00828"></a><span class="lineno"> 828</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="l00829"></a><span class="lineno"> 829</span> }</div><div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a76433394f276fbc92390850a15bd2cae"><div class="ttname"><a href="namespacearm__compute.xhtml#a76433394f276fbc92390850a15bd2cae">arm_compute::error_on_unsupported_fp16</a></div><div class="ttdeci">arm_compute::Status error_on_unsupported_fp16(const char *function, const char *file, const int line, const ITensorInfo *tensor_info, bool is_fp16_supported)</div><div class="ttdoc">Return an error if the data type of the passed tensor info is FP16 and FP16 extension is not supporte...</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00804">Validate.h:804</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="_error_8h_source.xhtml#l00052">Error.h:52</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00804">error_on_unsupported_fp16()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
+
</div>
</div>
<a id="a5c8dc3902d1a2de5b20aa249fb483eea"></a>
@@ -13884,15 +14758,15 @@
</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>
+<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 class="definition">Definition at line <a class="el" href="_c_l_validate_8h_source.xhtml#l00045">45</a> of file <a class="el" href="_c_l_validate_8h_source.xhtml">CLValidate.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00177">ARM_COMPUTE_CREATE_ERROR_LOC</a>, <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l00889">CLKernelLibrary::get()</a>, and <a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa0ffe8be9137815d1266845a195c053c7">UNSUPPORTED_EXTENSION_USE</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>  <span class="keywordflow">if</span>(!CLKernelLibrary::get().int64_base_atomics_supported())</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">return</span> <a class="code" href="_error_8h.xhtml#ac00c754f27b1201dd72c74b73239ff47">ARM_COMPUTE_CREATE_ERROR_LOC</a>(<a class="code" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa0ffe8be9137815d1266845a195c053c7">arm_compute::ErrorCode::UNSUPPORTED_EXTENSION_USE</a>, <span class="keyword">function</span>, file, line, <span class="stringliteral">"Atomic functions are not supported"</span>);</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="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a59e56af19e754a6aa26a612ebf91d05fa0ffe8be9137815d1266845a195c053c7"><div class="ttname"><a href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa0ffe8be9137815d1266845a195c053c7">arm_compute::ErrorCode::UNSUPPORTED_EXTENSION_USE</a></div><div class="ttdoc">Unsupported extension used. </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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_ac00c754f27b1201dd72c74b73239ff47"><div class="ttname"><a href="_error_8h.xhtml#ac00c754f27b1201dd72c74b73239ff47">ARM_COMPUTE_CREATE_ERROR_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_CREATE_ERROR_LOC(error_code, func, file, line,...)</div><div class="ttdoc">Creates an error on location with a given message. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00177">Error.h:177</a></div></div>
+<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>  <span class="keywordflow">if</span>(!CLKernelLibrary::get().int64_base_atomics_supported())</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">return</span> <a class="code" href="_error_8h.xhtml#ac00c754f27b1201dd72c74b73239ff47">ARM_COMPUTE_CREATE_ERROR_LOC</a>(<a class="code" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa0ffe8be9137815d1266845a195c053c7">arm_compute::ErrorCode::UNSUPPORTED_EXTENSION_USE</a>, <span class="keyword">function</span>, file, line, <span class="stringliteral">"Atomic functions are not supported"</span>);</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="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a59e56af19e754a6aa26a612ebf91d05fa0ffe8be9137815d1266845a195c053c7"><div class="ttname"><a href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa0ffe8be9137815d1266845a195c053c7">arm_compute::ErrorCode::UNSUPPORTED_EXTENSION_USE</a></div><div class="ttdoc">Unsupported extension used.</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_ac00c754f27b1201dd72c74b73239ff47"><div class="ttname"><a href="_error_8h.xhtml#ac00c754f27b1201dd72c74b73239ff47">ARM_COMPUTE_CREATE_ERROR_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_CREATE_ERROR_LOC(error_code, func, file, line,...)</div><div class="ttdoc">Creates an error on location with a given message.</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00177">Error.h:177</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00177">ARM_COMPUTE_CREATE_ERROR_LOC</a>, <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l00958">CLKernelLibrary::get()</a>, and <a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa0ffe8be9137815d1266845a195c053c7">UNSUPPORTED_EXTENSION_USE</a>.</p>
+
</div>
</div>
<a id="a7d65985a30fc1229047b7db32caaab43"></a>
@@ -13946,20 +14820,21 @@
<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">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>
<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>
+<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 class="definition">Definition at line <a class="el" href="_validate_8cpp_source.xhtml#l00080">80</a> of file <a class="el" href="_validate_8cpp_source.xhtml">Validate.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, and <a class="el" href="_dimensions_8h_source.xhtml#l00045">Dimensions< int >::num_max_dimensions</a>.</p>
-<div class="fragment"><div class="line"><a name="l00082"></a><span class="lineno"> 82</span> {</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = max_dim; i < <a class="code" href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">arm_compute::Coordinates::num_max_dimensions</a>; ++i)</div><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>  <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>((win[i].start() != 0) || (win[i].end() != win[i].step()),</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keyword">function</span>, file, line,</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="stringliteral">"Maximum number of dimensions expected %u but dimension %u is not empty"</span>, max_dim, i);</div><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">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span> }</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00231">Error.h:231</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a1b67d5b720119d50faa286c774579ecc"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">arm_compute::Dimensions< int >::num_max_dimensions</a></div><div class="ttdeci">static constexpr size_t num_max_dimensions</div><div class="ttdoc">Number of dimensions the tensor has. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00045">Dimensions.h:45</a></div></div>
+<div class="fragment"><div class="line"><a name="l00082"></a><span class="lineno"> 82</span> {</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = max_dim; i < <a class="code" href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">arm_compute::Coordinates::num_max_dimensions</a>; ++i)</div><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>  <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>((win[i].start() != 0) || (win[i].end() != win[i].<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a75b73e17c4ebe901e44af3b2b9846ab3">step</a>()),</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keyword">function</span>, file, line,</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="stringliteral">"Maximum number of dimensions expected %u but dimension %u is not empty"</span>, max_dim, i);</div><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">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span> }</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00231">Error.h:231</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a75b73e17c4ebe901e44af3b2b9846ab3"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a75b73e17c4ebe901e44af3b2b9846ab3">arm_compute::test::validation::step</a></div><div class="ttdeci">const int step</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_select_8cpp_source.xhtml#l00172">Select.cpp:172</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a1b67d5b720119d50faa286c774579ecc"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">arm_compute::Dimensions< int >::num_max_dimensions</a></div><div class="ttdeci">static constexpr size_t num_max_dimensions</div><div class="ttdoc">Number of dimensions the tensor has.</div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00045">Dimensions.h:45</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00045">Dimensions< int >::num_max_dimensions</a>, and <a class="el" href="_c_l_2_select_8cpp_source.xhtml#l00172">arm_compute::test::validation::step</a>.</p>
+
</div>
</div>
<a id="a4f63a617a4897663b386ba5e1f5cb675"></a>
@@ -14020,19 +14895,19 @@
<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">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">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>
</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>
+<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 class="definition">Definition at line <a class="el" href="_validate_8cpp_source.xhtml#l00057">57</a> of file <a class="el" href="_validate_8cpp_source.xhtml">Validate.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, and <a class="el" href="_window_8inl_source.xhtml#l00152">Window::validate()</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>  full.validate();</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  window.validate();</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>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(window[dim].start() != 0, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(window[dim].start() != full[dim].start(), <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(full[dim].end() != window[dim].end(), <span class="keyword">function</span>, file, line);</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="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> }</div><div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
+<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>  full.validate();</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  window.validate();</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>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(window[dim].start() != 0, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(window[dim].start() != full[dim].start(), <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(full[dim].end() != window[dim].end(), <span class="keyword">function</span>, file, line);</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="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> }</div><div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_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="_error_8h_source.xhtml#l00254">Error.h:254</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="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, and <a class="el" href="_window_8inl_source.xhtml#l00152">Window::validate()</a>.</p>
+
</div>
</div>
<a id="a5002bf7ec46d52971f9526e94172cfee"></a>
@@ -14079,20 +14954,93 @@
<p>It passes the x and y positions to the lambda_function for each iteration</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">w</td><td><a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a> to iterate through. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">lambda_function</td><td>The function of type void(function)( const <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a> & id ) to call at each iteration. Where id represents the absolute coordinates of the item to process. </td></tr>
- <tr><td class="paramdir">[in,out]</td><td class="paramname">iterators</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> iterators which will be updated by this function before calling lambda_function. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">w</td><td><a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window.">Window</a> to iterate through. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">lambda_function</td><td>The function of type void(function)( const <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item.">Coordinates</a> & id ) to call at each iteration. Where id represents the absolute coordinates of the item to process. </td></tr>
+ <tr><td class="paramdir">[in,out]</td><td class="paramname">iterators</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface.">Tensor</a> iterators which will be updated by this function before calling lambda_function. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00122">122</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00045">Dimensions< int >::num_max_dimensions</a>, and <a class="el" href="_window_8inl_source.xhtml#l00152">Window::validate()</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00665">colorconvert_iyuv_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00547">colorconvert_iyuv_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00880">colorconvert_iyuv_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00713">colorconvert_nv12_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00485">colorconvert_nv12_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00822">colorconvert_nv12_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00982">colorconvert_rgb_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00939">colorconvert_rgb_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00351">colorconvert_rgb_to_rgbx()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00382">colorconvert_rgb_to_u8()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l01026">colorconvert_rgb_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00410">colorconvert_rgbx_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00762">colorconvert_yuyv_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00610">colorconvert_yuyv_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00441">colorconvert_yuyv_to_rgb()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00793">arm_compute::utils::compare_tensor()</a>, <a class="el" href="_n_e_warp_kernel_8cpp_source.xhtml#l00067">INEWarpKernel::configure()</a>, <a class="el" href="_n_e_pooling_layer_kernel_8cpp_source.xhtml#l00335">NEPoolingLayerKernel::configure()</a>, <a class="el" href="_n_e_derivative_kernel_8cpp_source.xhtml#l00054">NEDerivativeKernel::configure()</a>, <a class="el" href="_n_e_normalization_layer_kernel_8cpp_source.xhtml#l00115">NENormalizationLayerKernel::configure()</a>, <a class="el" href="_n_e_remap_kernel_8cpp_source.xhtml#l00076">NERemapKernel::configure()</a>, <a class="el" href="_n_e_non_linear_filter_kernel_8cpp_source.xhtml#l00353">NENonLinearFilterKernel::configure()</a>, <a class="el" href="_n_e_threshold_kernel_8cpp_source.xhtml#l00045">NEThresholdKernel::configure()</a>, <a class="el" href="_n_e_magnitude_phase_kernel_8cpp_source.xhtml#l00250">NEMagnitudePhaseKernel< mag_type, phase_type >::configure()</a>, <a class="el" href="_n_e_scale_kernel_8cpp_source.xhtml#l00285">NEScaleKernel::configure()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l00324">NEConvolutionKernel< matrix_size >::configure()</a>, <a class="el" href="_i_tensor_8cpp_source.xhtml#l00035">ITensor::copy_from()</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00424">AssetsLibrary::fill_borders_with_garbage()</a>, <a class="el" href="_image_loader_8h_source.xhtml#l00176">IImageLoader::fill_image()</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00735">AssetsLibrary::fill_layer_data()</a>, <a class="el" href="_image_loader_8h_source.xhtml#l00256">IImageLoader::fill_planar_tensor()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00727">arm_compute::utils::fill_random_tensor()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00396">NPYLoader::fill_tensor()</a>, <a class="el" href="_n_e_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point_kernel_8cpp_source.xhtml#l00109">finalize_quantization()</a>, <a class="el" href="_c_p_p_flip_weights_kernel_8cpp_source.xhtml#l00045">CPPFlipWeightsKernel::flip_weights()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00680">arm_compute::utils::load_trained_data()</a>, <a class="el" href="_n_e_histogram_kernel_8cpp_source.xhtml#l00064">NEHistogramKernel::NEHistogramKernel()</a>, <a class="el" href="_n_e_prior_box_layer_kernel_8cpp_source.xhtml#l00108">NEPriorBoxLayerKernel::NEPriorBoxLayerKernel()</a>, <a class="el" href="_n_e_table_lookup_kernel_8cpp_source.xhtml#l00046">NETableLookupKernel::NETableLookupKernel()</a>, <a class="el" href="_n_e_y_o_l_o_layer_kernel_8cpp_source.xhtml#l00098">NEYOLOLayerKernel::NEYOLOLayerKernel()</a>, <a class="el" href="_graph_utils_8cpp_source.xhtml#l00089">CaffePreproccessor::preprocess()</a>, <a class="el" href="_graph_utils_8cpp_source.xhtml#l00064">TFPreproccessor::preprocess()</a>, <a class="el" href="_c_l_min_max_layer_kernel_8cpp_source.xhtml#l00119">CLMinMaxLayerKernel::reset()</a>, <a class="el" href="_n_e_min_max_layer_kernel_8cpp_source.xhtml#l00192">NEMinMaxLayerKernel::reset()</a>, <a class="el" href="_n_e_box3x3_kernel_8cpp_source.xhtml#l00148">NEBox3x3Kernel::run()</a>, <a class="el" href="_n_e_integral_image_kernel_8cpp_source.xhtml#l00074">NEIntegralImageKernel::run()</a>, <a class="el" href="_n_e_dilate_kernel_8cpp_source.xhtml#l00070">NEDilateKernel::run()</a>, <a class="el" href="_n_e_erode_kernel_8cpp_source.xhtml#l00070">NEErodeKernel::run()</a>, <a class="el" href="_n_e_median3x3_kernel_8cpp_source.xhtml#l00077">NEMedian3x3Kernel::run()</a>, <a class="el" href="_n_e_gaussian3x3_kernel_8cpp_source.xhtml#l00067">NEGaussian3x3Kernel::run()</a>, <a class="el" href="_n_e_gaussian5x5_kernel_8cpp_source.xhtml#l00076">NEGaussian5x5HorKernel::run()</a>, <a class="el" href="_n_e_accumulate_kernel_8cpp_source.xhtml#l00266">NEAccumulateKernel::run()</a>, <a class="el" href="_n_e_floor_kernel_8cpp_source.xhtml#l00101">NEFloorKernel::run()</a>, <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00486">NELogits1DMaxKernel::run()</a>, <a class="el" href="_n_e_gaussian_pyramid_kernel_8cpp_source.xhtml#l00108">NEGaussianPyramidHorKernel::run()</a>, <a class="el" href="_n_e_bitwise_not_kernel_8cpp_source.xhtml#l00084">NEBitwiseNotKernel::run()</a>, <a class="el" href="_n_e_bitwise_or_kernel_8cpp_source.xhtml#l00096">NEBitwiseOrKernel::run()</a>, <a class="el" href="_n_e_bitwise_xor_kernel_8cpp_source.xhtml#l00092">NEBitwiseXorKernel::run()</a>, <a class="el" href="_n_e_bitwise_and_kernel_8cpp_source.xhtml#l00100">NEBitwiseAndKernel::run()</a>, <a class="el" href="_n_e_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00678">NEHOGOrientationBinningKernel::run()</a>, <a class="el" href="_n_e_fast_corners_kernel_8cpp_source.xhtml#l00391">NEFastCornersKernel::run()</a>, <a class="el" href="_c_p_p_upsample_kernel_8cpp_source.xhtml#l00069">CPPUpsampleKernel::run()</a>, <a class="el" href="_n_e_fill_array_kernel_8cpp_source.xhtml#l00065">NEFillArrayKernel::run()</a>, <a class="el" href="_n_e_g_e_m_m_matrix_accumulate_biases_kernel_8cpp_source.xhtml#l00108">NEGEMMMatrixAccumulateBiasesKernel::run()</a>, <a class="el" href="_n_e_non_maxima_suppression3x3_kernel_8cpp_source.xhtml#l00498">NENonMaximaSuppression3x3Kernel::run()</a>, <a class="el" href="_n_e_sobel5x5_kernel_8cpp_source.xhtml#l00093">NESobel5x5HorKernel::run()</a>, <a class="el" href="_n_e_copy_kernel_8cpp_source.xhtml#l00058">NECopyKernel::run()</a>, <a class="el" href="_n_e_sobel7x7_kernel_8cpp_source.xhtml#l00196">NESobel7x7HorKernel::run()</a>, <a class="el" href="_n_e_fill_inner_border_kernel_8cpp_source.xhtml#l00064">NEFillInnerBorderKernel::run()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l00942">NEGradientKernel::run()</a>, <a class="el" href="_n_e_fill_border_kernel_8cpp_source.xhtml#l00128">NEFillBorderKernel::run()</a>, <a class="el" href="_n_e_h_o_g_detector_kernel_8cpp_source.xhtml#l00095">NEHOGDetectorKernel::run()</a>, <a class="el" href="_c_p_p_corner_candidates_kernel_8cpp_source.xhtml#l00096">CPPCornerCandidatesKernel::run()</a>, <a class="el" href="_n_e_flatten_layer_kernel_8cpp_source.xhtml#l00102">NEFlattenLayerKernel::run()</a>, <a class="el" href="_n_e_channel_extract_kernel_8cpp_source.xhtml#l00180">NEChannelExtractKernel::run()</a>, <a class="el" href="_n_e_sobel3x3_kernel_8cpp_source.xhtml#l00091">NESobel3x3Kernel::run()</a>, <a class="el" href="_n_e_scharr3x3_kernel_8cpp_source.xhtml#l00138">NEScharr3x3Kernel::run()</a>, <a class="el" href="_n_e_width_concatenate_layer_kernel_8cpp_source.xhtml#l00103">NEWidthConcatenateLayerKernel::run()</a>, <a class="el" href="_n_e_dequantization_layer_kernel_8cpp_source.xhtml#l00107">NEDequantizationLayerKernel::run()</a>, <a class="el" href="_n_e_quantization_layer_kernel_8cpp_source.xhtml#l00107">NEQuantizationLayerKernel::run()</a>, <a class="el" href="_n_e_gaussian5x5_kernel_8cpp_source.xhtml#l00144">NEGaussian5x5VertKernel::run()</a>, <a class="el" href="_n_e_channel_combine_kernel_8cpp_source.xhtml#l00272">NEChannelCombineKernel::run()</a>, <a class="el" href="_n_e_depth_convert_layer_kernel_8cpp_source.xhtml#l00124">NEDepthConvertLayerKernel::run()</a>, <a class="el" href="_n_e_min_max_layer_kernel_8cpp_source.xhtml#l00117">NEMinMaxLayerKernel::run()</a>, <a class="el" href="_n_e_accumulate_kernel_8cpp_source.xhtml#l00305">NEAccumulateWeightedKernel::run()</a>, <a class="el" href="_n_e_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00550">NEPixelWiseMultiplicationKernel::run()</a>, <a class="el" href="_n_e_g_e_m_m_transpose1x_w_kernel_8cpp_source.xhtml#l00126">NEGEMMTranspose1xWKernel::run()</a>, <a class="el" href="_n_e_g_e_m_m_lowp_reduction_kernel_8cpp_source.xhtml#l00131">NEGEMMLowpMatrixAReductionKernel::run()</a>, <a class="el" href="_n_e_harris_corners_kernel_8cpp_source.xhtml#l00709">NEHarrisScoreKernel< block_size >::run()</a>, <a class="el" href="_n_e_gaussian_pyramid_kernel_8cpp_source.xhtml#l00208">NEGaussianPyramidVertKernel::run()</a>, <a class="el" href="_n_e_sobel5x5_kernel_8cpp_source.xhtml#l00265">NESobel5x5VertKernel::run()</a>, <a class="el" href="_n_e_sobel7x7_kernel_8cpp_source.xhtml#l00355">NESobel7x7VertKernel::run()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l00699">NESeparableConvolutionHorKernel< matrix_size >::run()</a>, <a class="el" href="_n_e_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00772">NEHOGBlockNormalizationKernel::run()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l01024">NEEdgeNonMaxSuppressionKernel::run()</a>, <a class="el" href="_n_e_g_e_m_m_lowp_reduction_kernel_8cpp_source.xhtml#l00279">NEGEMMLowpMatrixBReductionKernel::run()</a>, <a class="el" href="_n_e_accumulate_kernel_8cpp_source.xhtml#l00348">NEAccumulateSquaredKernel::run()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l01137">NESeparableConvolutionVertKernel< matrix_size >::run()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l01105">NEEdgeTraceKernel::run()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l01471">NEConvolutionRectangleKernel::run()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00617">arm_compute::utils::save_to_npy()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00537">arm_compute::utils::save_to_ppm()</a>, <a class="el" href="_slice_operations_8cpp_source.xhtml#l00037">arm_compute::test::validation::reference::slice()</a>, <a class="el" href="_slice_operations_8cpp_source.xhtml#l00082">arm_compute::test::validation::reference::strided_slice()</a>, <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00324">vadd()</a>, <a class="el" href="_n_e_upsample_layer_kernel_8cpp_source.xhtml#l00089">NEUpsampleLayerKernel::validate()</a>, and <a class="el" href="_n_e_convert_fully_connected_weights_kernel_8cpp_source.xhtml#l00066">NEConvertFullyConnectedWeightsKernel::validate()</a>.</p>
-<div class="fragment"><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>  w.validate();</div><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">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < Coordinates::num_max_dimensions; ++i)</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>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(w[i].step() == 0);</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> </div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  Coordinates id;</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="_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#l00337">Error.h:337</a></div></div>
+<div class="fragment"><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>  w.validate();</div><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">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < Coordinates::num_max_dimensions; ++i)</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>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(w[i].<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a75b73e17c4ebe901e44af3b2b9846ab3">step</a>() == 0);</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> </div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  Coordinates id;</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="_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#l00337">Error.h:337</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a75b73e17c4ebe901e44af3b2b9846ab3"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a75b73e17c4ebe901e44af3b2b9846ab3">arm_compute::test::validation::step</a></div><div class="ttdeci">const int step</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_select_8cpp_source.xhtml#l00172">Select.cpp:172</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00045">Dimensions< int >::num_max_dimensions</a>, <a class="el" href="_c_l_2_select_8cpp_source.xhtml#l00172">arm_compute::test::validation::step</a>, and <a class="el" href="_window_8inl_source.xhtml#l00152">Window::validate()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00665">colorconvert_iyuv_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00547">colorconvert_iyuv_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00880">colorconvert_iyuv_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00713">colorconvert_nv12_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00485">colorconvert_nv12_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00822">colorconvert_nv12_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00982">colorconvert_rgb_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00939">colorconvert_rgb_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00351">colorconvert_rgb_to_rgbx()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00382">colorconvert_rgb_to_u8()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l01026">colorconvert_rgb_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00410">colorconvert_rgbx_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00762">colorconvert_yuyv_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00610">colorconvert_yuyv_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00441">colorconvert_yuyv_to_rgb()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00793">arm_compute::utils::compare_tensor()</a>, <a class="el" href="_i_tensor_8cpp_source.xhtml#l00035">ITensor::copy_from()</a>, <a class="el" href="_c_p_p_detection_output_layer_8cpp_source.xhtml#l00435">extract_bounding_boxes_from_tensor()</a>, <a class="el" href="_c_p_p_detection_output_layer_8cpp_source.xhtml#l00450">extract_scores_from_tensor()</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00459">AssetsLibrary::fill_borders_with_garbage()</a>, <a class="el" href="_image_loader_8h_source.xhtml#l00176">IImageLoader::fill_image()</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00890">AssetsLibrary::fill_layer_data()</a>, <a class="el" href="_image_loader_8h_source.xhtml#l00256">IImageLoader::fill_planar_tensor()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00727">arm_compute::utils::fill_random_tensor()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00396">NPYLoader::fill_tensor()</a>, <a class="el" href="_c_p_p_flip_weights_kernel_8cpp_source.xhtml#l00045">CPPFlipWeightsKernel::flip_weights()</a>, <a class="el" href="reference_2_gather_8cpp_source.xhtml#l00040">arm_compute::test::validation::reference::gather()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00680">arm_compute::utils::load_trained_data()</a>, <a class="el" href="_graph_utils_8cpp_source.xhtml#l00089">CaffePreproccessor::preprocess()</a>, <a class="el" href="_graph_utils_8cpp_source.xhtml#l00064">TFPreproccessor::preprocess()</a>, <a class="el" href="_c_l_min_max_layer_kernel_8cpp_source.xhtml#l00119">CLMinMaxLayerKernel::reset()</a>, <a class="el" href="_n_e_min_max_layer_kernel_8cpp_source.xhtml#l00192">NEMinMaxLayerKernel::reset()</a>, <a class="el" href="_n_e_box3x3_kernel_8cpp_source.xhtml#l00148">NEBox3x3Kernel::run()</a>, <a class="el" href="_n_e_dilate_kernel_8cpp_source.xhtml#l00070">NEDilateKernel::run()</a>, <a class="el" href="_n_e_erode_kernel_8cpp_source.xhtml#l00070">NEErodeKernel::run()</a>, <a class="el" href="_n_e_integral_image_kernel_8cpp_source.xhtml#l00074">NEIntegralImageKernel::run()</a>, <a class="el" href="_n_e_gaussian3x3_kernel_8cpp_source.xhtml#l00067">NEGaussian3x3Kernel::run()</a>, <a class="el" href="_n_e_median3x3_kernel_8cpp_source.xhtml#l00077">NEMedian3x3Kernel::run()</a>, <a class="el" href="_n_e_gaussian5x5_kernel_8cpp_source.xhtml#l00076">NEGaussian5x5HorKernel::run()</a>, <a class="el" href="_n_e_accumulate_kernel_8cpp_source.xhtml#l00266">NEAccumulateKernel::run()</a>, <a class="el" href="_n_e_floor_kernel_8cpp_source.xhtml#l00101">NEFloorKernel::run()</a>, <a class="el" href="_n_e_gaussian_pyramid_kernel_8cpp_source.xhtml#l00108">NEGaussianPyramidHorKernel::run()</a>, <a class="el" href="_n_e_bitwise_not_kernel_8cpp_source.xhtml#l00084">NEBitwiseNotKernel::run()</a>, <a class="el" href="_n_e_bitwise_or_kernel_8cpp_source.xhtml#l00096">NEBitwiseOrKernel::run()</a>, <a class="el" href="_n_e_bitwise_xor_kernel_8cpp_source.xhtml#l00092">NEBitwiseXorKernel::run()</a>, <a class="el" href="_n_e_bitwise_and_kernel_8cpp_source.xhtml#l00100">NEBitwiseAndKernel::run()</a>, <a class="el" href="_n_e_memset_kernel_8cpp_source.xhtml#l00051">NEMemsetKernel::run()</a>, <a class="el" href="_n_e_fast_corners_kernel_8cpp_source.xhtml#l00391">NEFastCornersKernel::run()</a>, <a class="el" href="_n_e_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00678">NEHOGOrientationBinningKernel::run()</a>, <a class="el" href="_c_p_p_upsample_kernel_8cpp_source.xhtml#l00069">CPPUpsampleKernel::run()</a>, <a class="el" href="_n_e_non_maxima_suppression3x3_kernel_8cpp_source.xhtml#l00498">NENonMaximaSuppression3x3Kernel::run()</a>, <a class="el" href="_n_e_sobel5x5_kernel_8cpp_source.xhtml#l00093">NESobel5x5HorKernel::run()</a>, <a class="el" href="_n_e_sobel7x7_kernel_8cpp_source.xhtml#l00196">NESobel7x7HorKernel::run()</a>, <a class="el" href="_n_e_fill_array_kernel_8cpp_source.xhtml#l00065">NEFillArrayKernel::run()</a>, <a class="el" href="_n_e_g_e_m_m_matrix_accumulate_biases_kernel_8cpp_source.xhtml#l00108">NEGEMMMatrixAccumulateBiasesKernel::run()</a>, <a class="el" href="_n_e_copy_kernel_8cpp_source.xhtml#l00058">NECopyKernel::run()</a>, <a class="el" href="_n_e_tile_kernel_8cpp_source.xhtml#l00089">NETileKernel::run()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l00942">NEGradientKernel::run()</a>, <a class="el" href="_c_p_p_corner_candidates_kernel_8cpp_source.xhtml#l00096">CPPCornerCandidatesKernel::run()</a>, <a class="el" href="_n_e_h_o_g_detector_kernel_8cpp_source.xhtml#l00095">NEHOGDetectorKernel::run()</a>, <a class="el" href="_n_e_flatten_layer_kernel_8cpp_source.xhtml#l00104">NEFlattenLayerKernel::run()</a>, <a class="el" href="_n_e_scharr3x3_kernel_8cpp_source.xhtml#l00138">NEScharr3x3Kernel::run()</a>, <a class="el" href="_n_e_sobel3x3_kernel_8cpp_source.xhtml#l00091">NESobel3x3Kernel::run()</a>, <a class="el" href="_n_e_width_concatenate_layer_kernel_8cpp_source.xhtml#l00105">NEWidthConcatenateLayerKernel::run()</a>, <a class="el" href="_n_e_quantization_layer_kernel_8cpp_source.xhtml#l00107">NEQuantizationLayerKernel::run()</a>, <a class="el" href="_n_e_dequantization_layer_kernel_8cpp_source.xhtml#l00107">NEDequantizationLayerKernel::run()</a>, <a class="el" href="_n_e_gaussian5x5_kernel_8cpp_source.xhtml#l00144">NEGaussian5x5VertKernel::run()</a>, <a class="el" href="_n_e_depth_convert_layer_kernel_8cpp_source.xhtml#l00128">NEDepthConvertLayerKernel::run()</a>, <a class="el" href="_n_e_min_max_layer_kernel_8cpp_source.xhtml#l00117">NEMinMaxLayerKernel::run()</a>, <a class="el" href="_n_e_accumulate_kernel_8cpp_source.xhtml#l00305">NEAccumulateWeightedKernel::run()</a>, <a class="el" href="_n_e_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00550">NEPixelWiseMultiplicationKernel::run()</a>, <a class="el" href="_n_e_g_e_m_m_transpose1x_w_kernel_8cpp_source.xhtml#l00127">NEGEMMTranspose1xWKernel::run()</a>, <a class="el" href="_n_e_g_e_m_m_lowp_reduction_kernel_8cpp_source.xhtml#l00131">NEGEMMLowpMatrixAReductionKernel::run()</a>, <a class="el" href="_n_e_harris_corners_kernel_8cpp_source.xhtml#l00709">NEHarrisScoreKernel< block_size >::run()</a>, <a class="el" href="_n_e_gaussian_pyramid_kernel_8cpp_source.xhtml#l00208">NEGaussianPyramidVertKernel::run()</a>, <a class="el" href="_n_e_sobel5x5_kernel_8cpp_source.xhtml#l00265">NESobel5x5VertKernel::run()</a>, <a class="el" href="_n_e_sobel7x7_kernel_8cpp_source.xhtml#l00355">NESobel7x7VertKernel::run()</a>, <a class="el" href="_n_e_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00772">NEHOGBlockNormalizationKernel::run()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l01024">NEEdgeNonMaxSuppressionKernel::run()</a>, <a class="el" href="_n_e_g_e_m_m_lowp_reduction_kernel_8cpp_source.xhtml#l00279">NEGEMMLowpMatrixBReductionKernel::run()</a>, <a class="el" href="_n_e_accumulate_kernel_8cpp_source.xhtml#l00348">NEAccumulateSquaredKernel::run()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l01105">NEEdgeTraceKernel::run()</a>, <a class="el" href="_n_e_reverse_kernel_8cpp_source.xhtml#l00103">run_reverse()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00617">arm_compute::utils::save_to_npy()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00537">arm_compute::utils::save_to_ppm()</a>, <a class="el" href="_slice_operations_8cpp_source.xhtml#l00038">arm_compute::test::validation::reference::slice()</a>, and <a class="el" href="_slice_operations_8cpp_source.xhtml#l00080">arm_compute::test::validation::reference::strided_slice()</a>.</p>
+
+</div>
+</div>
+<a id="a5196b5248c3c12035174abb6c85ba093"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5196b5248c3c12035174abb6c85ba093">◆ </a></span>extract_bounding_boxes_from_tensor()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void arm_compute::extract_bounding_boxes_from_tensor </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>bboxes</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">std::vector< <a class="el" href="namespacearm__compute.xhtml#a4ec997c1b05a1fd406828bc7e1f41dad">NormalizedBBox</a> > & </td>
+ <td class="paramname"><em>bboxes_vector</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_c_p_p_detection_output_layer_8cpp_source.xhtml#l00435">435</a> of file <a class="el" href="_c_p_p_detection_output_layer_8cpp_source.xhtml">CPPDetectionOutputLayer.cpp</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>  Window input_win;</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  input_win.use_tensor_dimensions(bboxes->info()->tensor_shape());</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  input_win.set_dimension_step(0<a class="code" href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">U</a>, 4<a class="code" href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">U</a>);</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  input_win.set_dimension_step(1<a class="code" href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">U</a>, 1<a class="code" href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">U</a>);</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  Iterator input(bboxes, input_win);</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  <span class="keyword">auto</span> f = [&bboxes_vector, &input](<span class="keyword">const</span> Coordinates &)</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>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = reinterpret_cast<const float *>(input.ptr());</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  bboxes_vector.push_back(<a class="code" href="namespacearm__compute.xhtml#a4ec997c1b05a1fd406828bc7e1f41dad">NormalizedBBox</a>({ { *input_ptr, *(input_ptr + 1), *(2 + input_ptr), *(3 + input_ptr) } }));</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>  <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(input_win, f, input);</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span> }</div><div class="ttc" id="namespacearm__compute_1_1utils_1_1cast_xhtml_a2ea3d1fc01a3a442900249ca182ffa5e"><div class="ttname"><a href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">arm_compute::utils::cast::U</a></div><div class="ttdeci">U</div><div class="ttdef"><b>Definition:</b> <a href="_saturate_cast_8h_source.xhtml#l00057">SaturateCast.h:57</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a5002bf7ec46d52971f9526e94172cfee"><div class="ttname"><a href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">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#l00122">Helpers.inl:122</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a4ec997c1b05a1fd406828bc7e1f41dad"><div class="ttname"><a href="namespacearm__compute.xhtml#a4ec997c1b05a1fd406828bc7e1f41dad">arm_compute::NormalizedBBox</a></div><div class="ttdeci">std::array< float, 4 > NormalizedBBox</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_detection_output_layer_8h_source.xhtml#l00038">CPPDetectionOutputLayer.h:38</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00146">Window::set_dimension_step()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">ITensorInfo::tensor_shape()</a>, and <a class="el" href="_window_8inl_source.xhtml#l00243">Window::use_tensor_dimensions()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_c_p_p_detection_output_layer_8cpp_source.xhtml#l00463">CPPNonMaximumSuppression::run()</a>.</p>
+
+</div>
+</div>
+<a id="a0ed6c4009303a6e319eb9e0519124b00"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0ed6c4009303a6e319eb9e0519124b00">◆ </a></span>extract_scores_from_tensor()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void arm_compute::extract_scores_from_tensor </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>scores</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">std::vector< float > & </td>
+ <td class="paramname"><em>scores_vector</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_c_p_p_detection_output_layer_8cpp_source.xhtml#l00450">450</a> of file <a class="el" href="_c_p_p_detection_output_layer_8cpp_source.xhtml">CPPDetectionOutputLayer.cpp</a>.</p>
+<div class="fragment"><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>  Window window;</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  window.use_tensor_dimensions(scores->info()->tensor_shape());</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  Iterator it(scores, window);</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  <span class="keyword">auto</span> f = [&it, &scores_vector](<span class="keyword">const</span> Coordinates &)</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> <span class="keyword">auto</span> input_ptr = reinterpret_cast<const float *>(it.ptr());</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  scores_vector.push_back(*input_ptr);</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>  <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(window, f, it);</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a5002bf7ec46d52971f9526e94172cfee"><div class="ttname"><a href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">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#l00122">Helpers.inl:122</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">ITensorInfo::tensor_shape()</a>, and <a class="el" href="_window_8inl_source.xhtml#l00243">Window::use_tensor_dimensions()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_c_p_p_detection_output_layer_8cpp_source.xhtml#l00463">CPPNonMaximumSuppression::run()</a>.</p>
+
</div>
</div>
<a id="a695a8105065167f7e4596d31f23a3573"></a>
@@ -14166,10 +15114,10 @@
<dl class="section return"><dt>Returns</dt><dd>Quantized values </dd></dl>
<p class="definition">Definition at line <a class="el" href="_n_e_asymm_8h_source.xhtml#l00074">74</a> of file <a class="el" href="_n_e_asymm_8h_source.xhtml">NEAsymm.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_n_e_asymm_8inl_source.xhtml#l00026">rounding_divide_by_pow2()</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>  <span class="keyword">const</span> <span class="keyword">static</span> int32x4_t zero_s32 = vdupq_n_s32(0);</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="comment">// Fixed point multiplication with vector saturating rounding doubling multiply high with scalar</span></div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  in_s32.val[0] = vqrdmulhq_n_s32(in_s32.val[0], result_fixedpoint_multiplier);</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  in_s32.val[1] = vqrdmulhq_n_s32(in_s32.val[1], result_fixedpoint_multiplier);</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  in_s32.val[2] = vqrdmulhq_n_s32(in_s32.val[2], result_fixedpoint_multiplier);</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  in_s32.val[3] = vqrdmulhq_n_s32(in_s32.val[3], result_fixedpoint_multiplier);</div><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="comment">// Round to the nearest division by a power-of-two using result_shift_s32</span></div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  in_s32.val[0] = <a class="code" href="namespacearm__compute.xhtml#a5e28a3911204ac952601f512c82b48f1">rounding_divide_by_pow2</a>(in_s32.val[0], result_shift);</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  in_s32.val[1] = <a class="code" href="namespacearm__compute.xhtml#a5e28a3911204ac952601f512c82b48f1">rounding_divide_by_pow2</a>(in_s32.val[1], result_shift);</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  in_s32.val[2] = <a class="code" href="namespacearm__compute.xhtml#a5e28a3911204ac952601f512c82b48f1">rounding_divide_by_pow2</a>(in_s32.val[2], result_shift);</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  in_s32.val[3] = <a class="code" href="namespacearm__compute.xhtml#a5e28a3911204ac952601f512c82b48f1">rounding_divide_by_pow2</a>(in_s32.val[3], result_shift);</div><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="comment">// Add the offset terms</span></div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  in_s32.val[0] = vaddq_s32(in_s32.val[0], result_offset_after_shift_s32);</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  in_s32.val[1] = vaddq_s32(in_s32.val[1], result_offset_after_shift_s32);</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  in_s32.val[2] = vaddq_s32(in_s32.val[2], result_offset_after_shift_s32);</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  in_s32.val[3] = vaddq_s32(in_s32.val[3], result_offset_after_shift_s32);</div><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>  <span class="comment">// Saturate negative values</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  in_s32.val[0] = vmaxq_s32(in_s32.val[0], zero_s32);</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  in_s32.val[1] = vmaxq_s32(in_s32.val[1], zero_s32);</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  in_s32.val[2] = vmaxq_s32(in_s32.val[2], zero_s32);</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  in_s32.val[3] = vmaxq_s32(in_s32.val[3], zero_s32);</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="comment">// Convert S32 to S16</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keyword">const</span> int16x8x2_t in_s16 =</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  {</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>  vcombine_s16(vqmovn_s32(in_s32.val[0]), vqmovn_s32(in_s32.val[1])),</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  vcombine_s16(vqmovn_s32(in_s32.val[2]), vqmovn_s32(in_s32.val[3]))</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  }</div><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> </div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="comment">// Convert S16 to U8</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  uint8x16_t out_u8 = vcombine_u8(vqmovun_s16(in_s16.val[0]), vqmovun_s16(in_s16.val[1]));</div><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">if</span>(is_bounded_relu)</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>  out_u8 = vmaxq_u8(out_u8, min_u8);</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  out_u8 = vminq_u8(out_u8, max_u8);</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> </div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordflow">return</span> out_u8;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a5e28a3911204ac952601f512c82b48f1"><div class="ttname"><a href="namespacearm__compute.xhtml#a5e28a3911204ac952601f512c82b48f1">arm_compute::rounding_divide_by_pow2</a></div><div class="ttdeci">int32x4_t rounding_divide_by_pow2(int32x4_t x, int exponent)</div><div class="ttdoc">Round to the nearest division by a power-of-two using exponent. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_asymm_8inl_source.xhtml#l00026">NEAsymm.inl:26</a></div></div>
+<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>  <span class="keyword">const</span> <span class="keyword">static</span> int32x4_t zero_s32 = vdupq_n_s32(0);</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="comment">// Fixed point multiplication with vector saturating rounding doubling multiply high with scalar</span></div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  in_s32.val[0] = vqrdmulhq_n_s32(in_s32.val[0], result_fixedpoint_multiplier);</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  in_s32.val[1] = vqrdmulhq_n_s32(in_s32.val[1], result_fixedpoint_multiplier);</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  in_s32.val[2] = vqrdmulhq_n_s32(in_s32.val[2], result_fixedpoint_multiplier);</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  in_s32.val[3] = vqrdmulhq_n_s32(in_s32.val[3], result_fixedpoint_multiplier);</div><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="comment">// Round to the nearest division by a power-of-two using result_shift_s32</span></div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  in_s32.val[0] = <a class="code" href="namespacearm__compute.xhtml#a5e28a3911204ac952601f512c82b48f1">rounding_divide_by_pow2</a>(in_s32.val[0], result_shift);</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  in_s32.val[1] = <a class="code" href="namespacearm__compute.xhtml#a5e28a3911204ac952601f512c82b48f1">rounding_divide_by_pow2</a>(in_s32.val[1], result_shift);</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  in_s32.val[2] = <a class="code" href="namespacearm__compute.xhtml#a5e28a3911204ac952601f512c82b48f1">rounding_divide_by_pow2</a>(in_s32.val[2], result_shift);</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  in_s32.val[3] = <a class="code" href="namespacearm__compute.xhtml#a5e28a3911204ac952601f512c82b48f1">rounding_divide_by_pow2</a>(in_s32.val[3], result_shift);</div><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="comment">// Add the offset terms</span></div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  in_s32.val[0] = vaddq_s32(in_s32.val[0], result_offset_after_shift_s32);</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  in_s32.val[1] = vaddq_s32(in_s32.val[1], result_offset_after_shift_s32);</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  in_s32.val[2] = vaddq_s32(in_s32.val[2], result_offset_after_shift_s32);</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  in_s32.val[3] = vaddq_s32(in_s32.val[3], result_offset_after_shift_s32);</div><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>  <span class="comment">// Saturate negative values</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  in_s32.val[0] = vmaxq_s32(in_s32.val[0], zero_s32);</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  in_s32.val[1] = vmaxq_s32(in_s32.val[1], zero_s32);</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  in_s32.val[2] = vmaxq_s32(in_s32.val[2], zero_s32);</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  in_s32.val[3] = vmaxq_s32(in_s32.val[3], zero_s32);</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="comment">// Convert S32 to S16</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keyword">const</span> int16x8x2_t in_s16 =</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  {</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>  vcombine_s16(vqmovn_s32(in_s32.val[0]), vqmovn_s32(in_s32.val[1])),</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  vcombine_s16(vqmovn_s32(in_s32.val[2]), vqmovn_s32(in_s32.val[3]))</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  }</div><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> </div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="comment">// Convert S16 to U8</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  uint8x16_t out_u8 = vcombine_u8(vqmovun_s16(in_s16.val[0]), vqmovun_s16(in_s16.val[1]));</div><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">if</span>(is_bounded_relu)</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>  out_u8 = vmaxq_u8(out_u8, min_u8);</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  out_u8 = vminq_u8(out_u8, max_u8);</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> </div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordflow">return</span> out_u8;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a5e28a3911204ac952601f512c82b48f1"><div class="ttname"><a href="namespacearm__compute.xhtml#a5e28a3911204ac952601f512c82b48f1">arm_compute::rounding_divide_by_pow2</a></div><div class="ttdeci">int32x4_t rounding_divide_by_pow2(int32x4_t x, int exponent)</div><div class="ttdoc">Round to the nearest division by a power-of-two using exponent.</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_asymm_8inl_source.xhtml#l00026">NEAsymm.inl:26</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_n_e_asymm_8inl_source.xhtml#l00026">rounding_divide_by_pow2()</a>.</p>
+
</div>
</div>
<a id="aff311815b306f7885265c103dc0344b9"></a>
@@ -14230,11 +15178,11 @@
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="_n_e_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point_kernel_8cpp_source.xhtml#l00109">109</a> of file <a class="el" href="_n_e_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point_kernel_8cpp_source.xhtml">NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00160">ARM_COMPUTE_UNUSED</a>, <a class="el" href="_window_8inl_source.xhtml#l00047">Window::collapse_if_possible()</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#l00047">Window::DimZ</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00265">arm_compute::test::validation::in</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00266">arm_compute::test::validation::out</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>, <a class="el" href="_n_e_asymm_8inl_source.xhtml#l00026">rounding_divide_by_pow2()</a>, <a class="el" href="_n_e_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point_kernel_8cpp_source.xhtml#l00293">NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel::run()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, and <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</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>  <span class="keyword">const</span> <span class="keyword">static</span> int32x4_t zero_s32 = vdupq_n_s32(0);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keyword">const</span> <span class="keyword">static</span> int32x4_t sat_value_s32 = vdupq_n_s32(255);</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="comment">// Fixed point multiplication with vector saturating rounding doubling multiply high with scalar</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  in_s32 = vqrdmulhq_n_s32(in_s32, result_fixedpoint_multiplier);</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="comment">// Round to the nearest division by a power-of-two using result_shift_s32</span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  in_s32 = <a class="code" href="namespacearm__compute.xhtml#a5e28a3911204ac952601f512c82b48f1">rounding_divide_by_pow2</a>(in_s32, result_shift);</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">// Add the offset terms</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  in_s32 = vaddq_s32(in_s32, result_offset_after_shift_s32);</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="comment">// Saturate negative values</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  in_s32 = vmaxq_s32(in_s32, zero_s32);</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  in_s32 = vminq_s32(in_s32, sat_value_s32);</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="keyword">auto</span> out_u8 = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(vgetq_lane_s32(in_s32, 0));</div><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>  <span class="keywordflow">if</span>(is_bounded_relu)</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>  out_u8 = std::max(out_u8, min_u8);</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  out_u8 = std::min(out_u8, max_u8);</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> out_u8;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a5e28a3911204ac952601f512c82b48f1"><div class="ttname"><a href="namespacearm__compute.xhtml#a5e28a3911204ac952601f512c82b48f1">arm_compute::rounding_divide_by_pow2</a></div><div class="ttdeci">int32x4_t rounding_divide_by_pow2(int32x4_t x, int exponent)</div><div class="ttdoc">Round to the nearest division by a power-of-two using exponent. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_asymm_8inl_source.xhtml#l00026">NEAsymm.inl:26</a></div></div>
+<p class="definition">Definition at line <a class="el" href="_n_e_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point_kernel_8cpp_source.xhtml#l00092">92</a> of file <a class="el" href="_n_e_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point_kernel_8cpp_source.xhtml">NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00093"></a><span class="lineno"> 93</span> {</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keyword">const</span> <span class="keyword">static</span> int32x4_t zero_s32 = vdupq_n_s32(0);</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keyword">const</span> <span class="keyword">static</span> int32x4_t sat_value_s32 = vdupq_n_s32(255);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="comment">// Fixed point multiplication with vector saturating rounding doubling multiply high with scalar</span></div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  in_s32 = vqrdmulhq_n_s32(in_s32, result_fixedpoint_multiplier);</div><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">// Round to the nearest division by a power-of-two using result_shift_s32</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  in_s32 = <a class="code" href="namespacearm__compute.xhtml#a5e28a3911204ac952601f512c82b48f1">rounding_divide_by_pow2</a>(in_s32, result_shift);</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">// Add the offset terms</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  in_s32 = vaddq_s32(in_s32, result_offset_after_shift_s32);</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="comment">// Saturate negative values</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  in_s32 = vmaxq_s32(in_s32, zero_s32);</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  in_s32 = vminq_s32(in_s32, sat_value_s32);</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keyword">auto</span> out_u8 = static_cast<uint8_t>(vgetq_lane_s32(in_s32, 0));</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="keywordflow">if</span>(is_bounded_relu)</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  {</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  out_u8 = std::max(out_u8, min_u8);</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  out_u8 = std::min(out_u8, max_u8);</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> </div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keywordflow">return</span> out_u8;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a5e28a3911204ac952601f512c82b48f1"><div class="ttname"><a href="namespacearm__compute.xhtml#a5e28a3911204ac952601f512c82b48f1">arm_compute::rounding_divide_by_pow2</a></div><div class="ttdeci">int32x4_t rounding_divide_by_pow2(int32x4_t x, int exponent)</div><div class="ttdoc">Round to the nearest division by a power-of-two using exponent.</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_asymm_8inl_source.xhtml#l00026">NEAsymm.inl:26</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_n_e_asymm_8inl_source.xhtml#l00026">rounding_divide_by_pow2()</a>.</p>
+
</div>
</div>
<a id="a9cd394c15b73f79ca1d98f5328064be2"></a>
@@ -14270,10 +15218,10 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>String with the floating point value. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01013">1013</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01031">1031</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="l01032"></a><span class="lineno"> 1032</span> {</div><div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>  std::stringstream ss;</div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>  ss.precision(std::numeric_limits<float>::max_digits10);</div><div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>  ss << val;</div><div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> </div><div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>  <span class="keywordflow">if</span>(val != static_cast<int>(val))</div><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>  {</div><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>  ss << <span class="stringliteral">"f"</span>;</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>  <span class="keywordflow">return</span> ss.str();</div><div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> }</div></div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_c_h_w_kernel_8cpp_source.xhtml#l00209">CLDepthwiseConvolutionLayer3x3NCHWKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00168">CLDepthwiseConvolutionLayer3x3NHWCKernel::configure()</a>, <a class="el" href="_c_l_generate_proposals_layer_kernel_8cpp_source.xhtml#l00068">CLComputeAllAnchorsKernel::configure()</a>, <a class="el" href="_c_l_normalization_layer_kernel_8cpp_source.xhtml#l00107">CLNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_comparison_kernel_8cpp_source.xhtml#l00113">CLComparisonKernel::configure()</a>, <a class="el" href="_g_c_activation_layer_kernel_8cpp_source.xhtml#l00047">GCActivationLayerKernel::configure()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00103">CLActivationLayerKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate2_tensors_kernel_8cpp_source.xhtml#l00097">CLWidthConcatenate2TensorsKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_addition_kernel_8cpp_source.xhtml#l00079">CLGEMMMatrixAdditionKernel::configure()</a>, <a class="el" href="_g_c_normalization_layer_kernel_8cpp_source.xhtml#l00049">GCNormalizationLayerKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_addition_kernel_8cpp_source.xhtml#l00043">GCGEMMMatrixAdditionKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate_layer_kernel_8cpp_source.xhtml#l00092">CLWidthConcatenateLayerKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_reshaped_kernel_8cpp_source.xhtml#l00175">CLGEMMMatrixMultiplyReshapedKernel::configure()</a>, <a class="el" href="_c_l_bounding_box_transform_kernel_8cpp_source.xhtml#l00070">CLBoundingBoxTransformKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate4_tensors_kernel_8cpp_source.xhtml#l00115">CLWidthConcatenate4TensorsKernel::configure()</a>, <a class="el" href="_c_l_range_kernel_8cpp_source.xhtml#l00093">CLRangeKernel::configure()</a>, <a class="el" href="_c_l_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00098">CLFuseBatchNormalizationKernel::configure()</a>, <a class="el" href="_c_l_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00101">CLDepthConcatenateLayerKernel::configure()</a>, <a class="el" href="_g_c_direct_convolution_layer_kernel_8cpp_source.xhtml#l00053">GCDirectConvolutionLayerKernel< kernel_size >::configure()</a>, <a class="el" href="_g_c_batch_normalization_layer_kernel_8cpp_source.xhtml#l00139">GCBatchNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_y_o_l_o_layer_kernel_8cpp_source.xhtml#l00103">CLYOLOLayerKernel::configure()</a>, <a class="el" href="_c_l_r_o_i_align_layer_kernel_8cpp_source.xhtml#l00093">CLROIAlignLayerKernel::configure()</a>, <a class="el" href="_c_l_batch_normalization_layer_kernel_8cpp_source.xhtml#l00138">CLBatchNormalizationLayerKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00185">GCGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_winograd_output_transform_kernel_8cpp_source.xhtml#l00146">CLWinogradOutputTransformKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00263">CLGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_float_kernel_8cpp_source.xhtml#l00123">CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFloatKernel::configure()</a>, and <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00219">CLLogits1DMaxShiftExpSumKernel::configure()</a>.</p>
-<p class="reference">Referenced by <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_c_h_w_kernel_8cpp_source.xhtml#l00209">CLDepthwiseConvolutionLayer3x3NCHWKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00141">CLDepthwiseConvolutionLayer3x3NHWCKernel::configure()</a>, <a class="el" href="_c_l_normalization_layer_kernel_8cpp_source.xhtml#l00108">CLNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_generate_proposals_layer_kernel_8cpp_source.xhtml#l00067">CLComputeAllAnchorsKernel::configure()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00103">CLActivationLayerKernel::configure()</a>, <a class="el" href="_g_c_activation_layer_kernel_8cpp_source.xhtml#l00047">GCActivationLayerKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_addition_kernel_8cpp_source.xhtml#l00043">GCGEMMMatrixAdditionKernel::configure()</a>, <a class="el" href="_g_c_normalization_layer_kernel_8cpp_source.xhtml#l00049">GCNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_bounding_box_transform_kernel_8cpp_source.xhtml#l00069">CLBoundingBoxTransformKernel::configure()</a>, <a class="el" href="_c_l_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00098">CLFuseBatchNormalizationKernel::configure()</a>, <a class="el" href="_g_c_direct_convolution_layer_kernel_8cpp_source.xhtml#l00053">GCDirectConvolutionLayerKernel< kernel_size >::configure()</a>, <a class="el" href="_g_c_batch_normalization_layer_kernel_8cpp_source.xhtml#l00139">GCBatchNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_y_o_l_o_layer_kernel_8cpp_source.xhtml#l00103">CLYOLOLayerKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00221">CLGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_r_o_i_align_layer_kernel_8cpp_source.xhtml#l00092">CLROIAlignLayerKernel::configure()</a>, <a class="el" href="_c_l_batch_normalization_layer_kernel_8cpp_source.xhtml#l00138">CLBatchNormalizationLayerKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00185">GCGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_float_kernel_8cpp_source.xhtml#l00123">CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFloatKernel::configure()</a>, and <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00219">CLLogits1DMaxShiftExpSumKernel::configure()</a>.</p>
-<div class="fragment"><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>  std::stringstream ss;</div><div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>  ss.precision(std::numeric_limits<float>::digits10 + 1);</div><div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>  ss << val;</div><div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> </div><div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>  <span class="keywordflow">if</span>(val != static_cast<int>(val))</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>  ss << <span class="stringliteral">"f"</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> </div><div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>  <span class="keywordflow">return</span> ss.str();</div><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="ad1e1cc57e3e2ae0ea65d607f6d6312f8"></a>
@@ -14301,9 +15249,9 @@
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00037">37</a> of file <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml">CLMinMaxLocationKernel.cpp</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00062">CLMinMaxKernel::configure()</a>.</p>
<div class="fragment"><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> {</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  static_assert(<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>) == <span class="keyword">sizeof</span>(int32_t), <span class="stringliteral">"Float must be same size as int32_t"</span>);</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  int32_t int_val = 0;</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>  memcpy(&int_val, &val, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>));</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  int_val = (int_val >= 0) ? int_val : int_val ^ 0x7FFFFFFF;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keywordflow">return</span> int_val;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> }</div></div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00062">CLMinMaxKernel::configure()</a>.</p>
+
</div>
</div>
<a id="a23062881efd3855d61bae58f330c97db"></a>
@@ -14352,10 +15300,10 @@
<dl class="section return"><dt>Returns</dt><dd>the result. </dd></dl>
<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00079">79</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_n_e_h_o_g_detector_kernel_8cpp_source.xhtml#l00042">NEHOGDetectorKernel::configure()</a>, and <a class="el" href="_c_l_h_o_g_detector_kernel_8cpp_source.xhtml#l00044">CLHOGDetectorKernel::configure()</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>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(value < 0 || divisor <= 0);</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="keywordflow">return</span> (value / divisor) * divisor;</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</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#l00337">Error.h:337</a></div></div>
+<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>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(value < 0 || divisor <= 0);</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="keywordflow">return</span> (value / divisor) * divisor;</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</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#l00337">Error.h:337</a></div></div>
</div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="_n_e_h_o_g_detector_kernel_8cpp_source.xhtml#l00042">NEHOGDetectorKernel::configure()</a>, and <a class="el" href="_c_l_h_o_g_detector_kernel_8cpp_source.xhtml#l00044">CLHOGDetectorKernel::configure()</a>.</p>
+
</div>
</div>
<a id="a2ad3c9492d4158b574a89ab798d74e16"></a>
@@ -14383,13 +15331,13 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if the extension is supported </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00140">140</a> of file <a class="el" href="_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00183">device_supports_extension()</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l00895">CLKernelLibrary::create_kernel()</a>, <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l00974">CLKernelLibrary::fp16_supported()</a>, and <a class="el" href="_c_l_kernel_library_8h_source.xhtml#l00326">CLKernelLibrary::get_built_programs()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00141"></a><span class="lineno"> 141</span> {</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a6c4a5ca34ebb51d4e2e119a110e4c8f0">device_supports_extension</a>(device, <span class="stringliteral">"cl_khr_fp16"</span>);</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a6c4a5ca34ebb51d4e2e119a110e4c8f0"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c4a5ca34ebb51d4e2e119a110e4c8f0">arm_compute::device_supports_extension</a></div><div class="ttdeci">bool device_supports_extension(const cl::Device &device, const char *extension_name)</div><div class="ttdoc">Helper function to check whether a given extension is supported. </div><div class="ttdef"><b>Definition:</b> <a href="_c_l_helpers_8cpp_source.xhtml#l00183">CLHelpers.cpp:183</a></div></div>
+<p class="definition">Definition at line <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00140">140</a> of file <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00141"></a><span class="lineno"> 141</span> {</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a6c4a5ca34ebb51d4e2e119a110e4c8f0">device_supports_extension</a>(device, <span class="stringliteral">"cl_khr_fp16"</span>);</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a6c4a5ca34ebb51d4e2e119a110e4c8f0"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c4a5ca34ebb51d4e2e119a110e4c8f0">arm_compute::device_supports_extension</a></div><div class="ttdeci">bool device_supports_extension(const cl::Device &device, const char *extension_name)</div><div class="ttdoc">Helper function to check whether a given extension is supported.</div><div class="ttdef"><b>Definition:</b> <a href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00183">CLHelpers.cpp:183</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00183">device_supports_extension()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l01043">CLKernelLibrary::fp16_supported()</a>.</p>
+
</div>
</div>
<a id="a2355c2bf5d1950088937416baea24fe6"></a>
@@ -14418,11 +15366,11 @@
<dl class="section return"><dt>Returns</dt><dd>the GPU target which shows the arch </dd></dl>
<p class="definition">Definition at line <a class="el" href="src_2core_2_g_p_u_target_8cpp_source.xhtml#l00160">160</a> of file <a class="el" href="src_2core_2_g_p_u_target_8cpp_source.xhtml">GPUTarget.cpp</a>.</p>
-
+<div class="fragment"><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> (target & GPUTarget::GPU_ARCH_MASK);</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span> }</div></div><!-- fragment -->
<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a57a3b40730a5af7ea3e13eb4bba56d82">GPU_ARCH_MASK</a>.</p>
-<p class="reference">Referenced by <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_kernel_8cpp_source.xhtml#l00220">CLGEMMLowpMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00221">CLGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00185">GCGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_8cpp_source.xhtml#l00090">CLGEMM::configure()</a>, <a class="el" href="_tuners_8h_source.xhtml#l00040">TunerFactory::create_tuner()</a>, and <a class="el" href="_c_l_g_e_m_m_8cpp_source.xhtml#l00180">CLGEMM::validate()</a>.</p>
-<div class="fragment"><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> (target & GPUTarget::GPU_ARCH_MASK);</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span> }</div></div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_kernel_8cpp_source.xhtml#l00234">CLGEMMLowpMatrixMultiplyKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00185">GCGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00263">CLGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_8cpp_source.xhtml#l00102">CLGEMM::configure()</a>, <a class="el" href="_c_l_g_e_m_m_reshaped_configuration_8h_source.xhtml#l00041">CLGEMMReshapedConfigurationFactory::create()</a>, <a class="el" href="_tuners_8h_source.xhtml#l00040">TunerFactory::create_tuner()</a>, and <a class="el" href="_c_l_g_e_m_m_8cpp_source.xhtml#l00233">CLGEMM::validate()</a>.</p>
+
</div>
</div>
<a id="a70d221fbff7bff840ef4d3fdc701cf53"></a>
@@ -14450,13 +15398,13 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The string specifying the OpenCL select type to be used. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00067">67</a> of file <a class="el" href="_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</a>.</p>
-
+<p class="definition">Definition at line <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00067">67</a> of file <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</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>  <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  {</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="keywordflow">return</span> <span class="stringliteral">"uchar"</span>;</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordflow">return</span> <span class="stringliteral">"char"</span>;</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keywordflow">return</span> <span class="stringliteral">"uchar"</span>;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="keywordflow">return</span> <span class="stringliteral">"ushort"</span>;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordflow">return</span> <span class="stringliteral">"short"</span>;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordflow">return</span> <span class="stringliteral">"uint"</span>;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keywordflow">return</span> <span class="stringliteral">"int"</span>;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordflow">return</span> <span class="stringliteral">"ulong"</span>;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keywordflow">return</span> <span class="stringliteral">"long"</span>;</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Unsupported input data type."</span>);</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keywordflow">return</span> <span class="stringliteral">""</span>;</div><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> }</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#l00261">Error.h:261</a></div></div>
+</div><!-- fragment -->
<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">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#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#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 class="reference">Referenced by <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00103">CLActivationLayerKernel::configure()</a>, <a class="el" href="_c_l_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00098">CLFuseBatchNormalizationKernel::configure()</a>, <a class="el" href="_c_l_y_o_l_o_layer_kernel_8cpp_source.xhtml#l00103">CLYOLOLayerKernel::configure()</a>, and <a class="el" href="_c_l_batch_normalization_layer_kernel_8cpp_source.xhtml#l00138">CLBatchNormalizationLayerKernel::configure()</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>  <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  {</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="keywordflow">return</span> <span class="stringliteral">"uchar"</span>;</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordflow">return</span> <span class="stringliteral">"char"</span>;</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keywordflow">return</span> <span class="stringliteral">"uchar"</span>;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="keywordflow">return</span> <span class="stringliteral">"ushort"</span>;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordflow">return</span> <span class="stringliteral">"short"</span>;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordflow">return</span> <span class="stringliteral">"uint"</span>;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keywordflow">return</span> <span class="stringliteral">"int"</span>;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordflow">return</span> <span class="stringliteral">"ulong"</span>;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keywordflow">return</span> <span class="stringliteral">"long"</span>;</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Unsupported input data type."</span>);</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keywordflow">return</span> <span class="stringliteral">""</span>;</div><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> }</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#l00261">Error.h:261</a></div></div>
-</div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00103">CLActivationLayerKernel::configure()</a>, <a class="el" href="_c_l_select_kernel_8cpp_source.xhtml#l00109">CLSelectKernel::configure()</a>, <a class="el" href="_c_l_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00098">CLFuseBatchNormalizationKernel::configure()</a>, <a class="el" href="_c_l_y_o_l_o_layer_kernel_8cpp_source.xhtml#l00103">CLYOLOLayerKernel::configure()</a>, <a class="el" href="_c_l_batch_normalization_layer_kernel_8cpp_source.xhtml#l00138">CLBatchNormalizationLayerKernel::configure()</a>, and <a class="el" href="_c_l_winograd_output_transform_kernel_8cpp_source.xhtml#l00146">CLWinogradOutputTransformKernel::configure()</a>.</p>
+
</div>
</div>
<a id="a545eeda2eaa3f5a54345ce8169e21184"></a>
@@ -14484,13 +15432,13 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The string specifying the OpenCL type to be used. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00035">35</a> of file <a class="el" href="_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</a>.</p>
-
+<p class="definition">Definition at line <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00035">35</a> of file <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</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>  <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  {</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <span class="keywordflow">return</span> <span class="stringliteral">"uchar"</span>;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <span class="keywordflow">return</span> <span class="stringliteral">"char"</span>;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keywordflow">return</span> <span class="stringliteral">"uchar"</span>;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keywordflow">return</span> <span class="stringliteral">"ushort"</span>;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="keywordflow">return</span> <span class="stringliteral">"short"</span>;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keywordflow">return</span> <span class="stringliteral">"uint"</span>;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <span class="keywordflow">return</span> <span class="stringliteral">"int"</span>;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keywordflow">return</span> <span class="stringliteral">"ulong"</span>;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keywordflow">return</span> <span class="stringliteral">"long"</span>;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keywordflow">return</span> <span class="stringliteral">"half"</span>;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keywordflow">return</span> <span class="stringliteral">"float"</span>;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Unsupported input data type."</span>);</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keywordflow">return</span> <span class="stringliteral">""</span>;</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> }</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#l00261">Error.h:261</a></div></div>
+</div><!-- fragment -->
<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">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#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#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 class="reference">Referenced by <a class="el" href="_c_l_warp_perspective_kernel_8cpp_source.xhtml#l00061">CLWarpPerspectiveKernel::configure()</a>, <a class="el" href="_c_l_non_maxima_suppression3x3_kernel_8cpp_source.xhtml#l00044">CLNonMaximaSuppression3x3Kernel::configure()</a>, <a class="el" href="_c_l_warp_affine_kernel_8cpp_source.xhtml#l00061">CLWarpAffineKernel::configure()</a>, <a class="el" href="_c_l_scale_kernel_8cpp_source.xhtml#l00161">CLScaleKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00141">CLDepthwiseConvolutionLayer3x3NHWCKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_accumulate_biases_kernel_8cpp_source.xhtml#l00079">CLGEMMMatrixAccumulateBiasesKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_vector_multiply_kernel_8cpp_source.xhtml#l00083">CLGEMMMatrixVectorMultiplyKernel::configure()</a>, <a class="el" href="_c_l_copy_kernel_8cpp_source.xhtml#l00138">CLCopyKernel::configure()</a>, <a class="el" href="_c_l_flatten_layer_kernel_8cpp_source.xhtml#l00085">CLFlattenLayerKernel::configure()</a>, <a class="el" href="_c_l_floor_kernel_8cpp_source.xhtml#l00079">CLFloorKernel::configure()</a>, <a class="el" href="_c_l_normalization_layer_kernel_8cpp_source.xhtml#l00108">CLNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_reshape_layer_kernel_8cpp_source.xhtml#l00067">CLReshapeLayerKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00040">CLGradientKernel::configure()</a>, <a class="el" href="_c_l_generate_proposals_layer_kernel_8cpp_source.xhtml#l00067">CLComputeAllAnchorsKernel::configure()</a>, <a class="el" href="_c_l_batch_to_space_layer_kernel_8cpp_source.xhtml#l00084">CLBatchToSpaceLayerKernel::configure()</a>, <a class="el" href="_c_l_permute_kernel_8cpp_source.xhtml#l00076">CLPermuteKernel::configure()</a>, <a class="el" href="_c_l_memset_kernel_8cpp_source.xhtml#l00042">CLMemsetKernel::configure()</a>, <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00062">CLMinMaxKernel::configure()</a>, <a class="el" href="_c_l_remap_kernel_8cpp_source.xhtml#l00050">CLRemapKernel::configure()</a>, <a class="el" href="_c_l_reorg_layer_kernel_8cpp_source.xhtml#l00076">CLReorgLayerKernel::configure()</a>, <a class="el" href="_c_l_space_to_batch_layer_kernel_8cpp_source.xhtml#l00083">CLSpaceToBatchLayerKernel::configure()</a>, <a class="el" href="_c_l_upsample_layer_kernel_8cpp_source.xhtml#l00062">CLUpsampleLayerKernel::configure()</a>, <a class="el" href="_c_l_deconvolution_layer_upsample_kernel_8cpp_source.xhtml#l00071">CLDeconvolutionLayerUpsampleKernel::configure()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00103">CLActivationLayerKernel::configure()</a>, <a class="el" href="_c_l_depthwise_weights_reshape_kernel_8cpp_source.xhtml#l00069">CLDepthwiseWeightsReshapeKernel::configure()</a>, <a class="el" href="_c_l_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00097">CLNormalizePlanarYUVLayerKernel::configure()</a>, <a class="el" href="_c_l_depth_convert_layer_kernel_8cpp_source.xhtml#l00095">CLDepthConvertLayerKernel::configure()</a>, <a class="el" href="_c_l_pooling_layer_kernel_8cpp_source.xhtml#l00184">CLPoolingLayerKernel::configure()</a>, <a class="el" href="_c_l_arithmetic_division_kernel_8cpp_source.xhtml#l00102">CLArithmeticDivisionKernel::configure()</a>, <a class="el" href="_c_l_bounding_box_transform_kernel_8cpp_source.xhtml#l00069">CLBoundingBoxTransformKernel::configure()</a>, <a class="el" href="_c_l_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00120">CLPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_c_l_prior_box_layer_kernel_8cpp_source.xhtml#l00122">CLPriorBoxLayerKernel::configure()</a>, <a class="el" href="_c_l_depthwise_vector_to_tensor_kernel_8cpp_source.xhtml#l00063">CLDepthwiseVectorToTensorKernel::configure()</a>, <a class="el" href="_c_l_absolute_difference_kernel_8cpp_source.xhtml#l00047">CLAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_c_l_reduction_operation_kernel_8cpp_source.xhtml#l00125">CLReductionOperationKernel::configure()</a>, <a class="el" href="_c_l_l2_normalize_layer_kernel_8cpp_source.xhtml#l00093">CLL2NormalizeLayerKernel::configure()</a>, <a class="el" href="_c_l_magnitude_phase_kernel_8cpp_source.xhtml#l00046">CLMagnitudePhaseKernel::configure()</a>, <a class="el" href="_c_l_arithmetic_addition_kernel_8cpp_source.xhtml#l00120">CLArithmeticAdditionKernel::configure()</a>, <a class="el" href="_c_l_depthwise_im2_col_kernel_8cpp_source.xhtml#l00064">CLDepthwiseIm2ColKernel::configure()</a>, <a class="el" href="_c_l_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00098">CLFuseBatchNormalizationKernel::configure()</a>, <a class="el" href="_c_l_arithmetic_subtraction_kernel_8cpp_source.xhtml#l00128">CLArithmeticSubtractionKernel::configure()</a>, <a class="el" href="_c_l_convert_fully_connected_weights_kernel_8cpp_source.xhtml#l00040">CLConvertFullyConnectedWeightsKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00057">CLConvolutionKernel< matrix_size >::configure()</a>, <a class="el" href="_c_l_winograd_input_transform_kernel_8cpp_source.xhtml#l00111">CLWinogradInputTransformKernel::configure()</a>, <a class="el" href="_c_l_y_o_l_o_layer_kernel_8cpp_source.xhtml#l00103">CLYOLOLayerKernel::configure()</a>, <a class="el" href="_c_l_r_o_i_pooling_layer_kernel_8cpp_source.xhtml#l00049">CLROIPoolingLayerKernel::configure()</a>, <a class="el" href="_c_l_r_o_i_align_layer_kernel_8cpp_source.xhtml#l00092">CLROIAlignLayerKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00221">CLGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_batch_normalization_layer_kernel_8cpp_source.xhtml#l00138">CLBatchNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_winograd_filter_transform_kernel_8cpp_source.xhtml#l00102">CLWinogradFilterTransformKernel::configure()</a>, <a class="el" href="_c_l_strided_slice_kernel_8cpp_source.xhtml#l00104">CLStridedSliceKernel::configure()</a>, <a class="el" href="_c_l_harris_corners_kernel_8cpp_source.xhtml#l00054">CLHarrisScoreKernel::configure()</a>, <a class="el" href="_c_l_winograd_output_transform_kernel_8cpp_source.xhtml#l00136">CLWinogradOutputTransformKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00350">CLDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_c_l_col2_im_kernel_8cpp_source.xhtml#l00090">CLCol2ImKernel::configure()</a>, <a class="el" href="_c_l_weights_reshape_kernel_8cpp_source.xhtml#l00078">CLWeightsReshapeKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00111">CLEdgeNonMaxSuppressionKernel::configure()</a>, <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00169">CLMinMaxLocationKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00127">CLSeparableConvolutionHorKernel< matrix_size >::configure()</a>, <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00219">CLLogits1DMaxShiftExpSumKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00180">CLSeparableConvolutionVertKernel< matrix_size >::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00173">CLEdgeTraceKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00246">CLConvolutionRectangleKernel::configure()</a>, <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00335">CLLogits1DNormKernel::configure()</a>, and <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00122">get_underlying_cl_type_from_data_type()</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>  <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  {</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <span class="keywordflow">return</span> <span class="stringliteral">"uchar"</span>;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <span class="keywordflow">return</span> <span class="stringliteral">"char"</span>;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keywordflow">return</span> <span class="stringliteral">"uchar"</span>;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keywordflow">return</span> <span class="stringliteral">"ushort"</span>;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="keywordflow">return</span> <span class="stringliteral">"short"</span>;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keywordflow">return</span> <span class="stringliteral">"uint"</span>;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <span class="keywordflow">return</span> <span class="stringliteral">"int"</span>;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keywordflow">return</span> <span class="stringliteral">"ulong"</span>;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keywordflow">return</span> <span class="stringliteral">"long"</span>;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keywordflow">return</span> <span class="stringliteral">"half"</span>;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keywordflow">return</span> <span class="stringliteral">"float"</span>;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Unsupported input data type."</span>);</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keywordflow">return</span> <span class="stringliteral">""</span>;</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> }</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#l00261">Error.h:261</a></div></div>
-</div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="_c_l_warp_perspective_kernel_8cpp_source.xhtml#l00061">CLWarpPerspectiveKernel::configure()</a>, <a class="el" href="_c_l_element_wise_unary_layer_kernel_8cpp_source.xhtml#l00052">CLElementWiseUnaryLayerKernel::configure()</a>, <a class="el" href="_c_l_non_maxima_suppression3x3_kernel_8cpp_source.xhtml#l00044">CLNonMaximaSuppression3x3Kernel::configure()</a>, <a class="el" href="_c_l_warp_affine_kernel_8cpp_source.xhtml#l00061">CLWarpAffineKernel::configure()</a>, <a class="el" href="_c_l_scale_kernel_8cpp_source.xhtml#l00161">CLScaleKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00168">CLDepthwiseConvolutionLayer3x3NHWCKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_accumulate_biases_kernel_8cpp_source.xhtml#l00079">CLGEMMMatrixAccumulateBiasesKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_vector_multiply_kernel_8cpp_source.xhtml#l00083">CLGEMMMatrixVectorMultiplyKernel::configure()</a>, <a class="el" href="_c_l_copy_kernel_8cpp_source.xhtml#l00138">CLCopyKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_reshape_weights_kernel_8cpp_source.xhtml#l00087">CLDepthwiseConvolutionLayerReshapeWeightsKernel::configure()</a>, <a class="el" href="_c_l_flatten_layer_kernel_8cpp_source.xhtml#l00086">CLFlattenLayerKernel::configure()</a>, <a class="el" href="_c_l_floor_kernel_8cpp_source.xhtml#l00079">CLFloorKernel::configure()</a>, <a class="el" href="_c_l_reshape_layer_kernel_8cpp_source.xhtml#l00067">CLReshapeLayerKernel::configure()</a>, <a class="el" href="_c_l_generate_proposals_layer_kernel_8cpp_source.xhtml#l00068">CLComputeAllAnchorsKernel::configure()</a>, <a class="el" href="_c_l_normalization_layer_kernel_8cpp_source.xhtml#l00107">CLNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_batch_to_space_layer_kernel_8cpp_source.xhtml#l00084">CLBatchToSpaceLayerKernel::configure()</a>, <a class="el" href="_c_l_permute_kernel_8cpp_source.xhtml#l00081">CLPermuteKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00040">CLGradientKernel::configure()</a>, <a class="el" href="_c_l_tile_kernel_8cpp_source.xhtml#l00068">CLTileKernel::configure()</a>, <a class="el" href="_c_l_depth_convert_layer_kernel_8cpp_source.xhtml#l00073">CLDepthConvertLayerKernel::configure()</a>, <a class="el" href="_c_l_memset_kernel_8cpp_source.xhtml#l00042">CLMemsetKernel::configure()</a>, <a class="el" href="_c_l_upsample_layer_kernel_8cpp_source.xhtml#l00066">CLUpsampleLayerKernel::configure()</a>, <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00062">CLMinMaxKernel::configure()</a>, <a class="el" href="_c_l_remap_kernel_8cpp_source.xhtml#l00050">CLRemapKernel::configure()</a>, <a class="el" href="_c_l_reorg_layer_kernel_8cpp_source.xhtml#l00076">CLReorgLayerKernel::configure()</a>, <a class="el" href="_c_l_space_to_batch_layer_kernel_8cpp_source.xhtml#l00089">CLSpaceToBatchLayerKernel::configure()</a>, <a class="el" href="_c_l_gather_kernel_8cpp_source.xhtml#l00091">CLGatherKernel::configure()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00103">CLActivationLayerKernel::configure()</a>, <a class="el" href="_c_l_deconvolution_layer_upsample_kernel_8cpp_source.xhtml#l00073">CLDeconvolutionLayerUpsampleKernel::configure()</a>, <a class="el" href="_c_l_comparison_kernel_8cpp_source.xhtml#l00113">CLComparisonKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_reshape_weights_generic_kernel_8cpp_source.xhtml#l00070">CLDepthwiseConvolutionLayerReshapeWeightsGenericKernel::configure()</a>, <a class="el" href="_c_l_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00098">CLNormalizePlanarYUVLayerKernel::configure()</a>, <a class="el" href="_c_l_pooling_layer_kernel_8cpp_source.xhtml#l00185">CLPoolingLayerKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_reshaped_kernel_8cpp_source.xhtml#l00175">CLGEMMMatrixMultiplyReshapedKernel::configure()</a>, <a class="el" href="_c_l_reduction_operation_kernel_8cpp_source.xhtml#l00139">CLReductionOperationKernel::configure()</a>, <a class="el" href="_c_l_prior_box_layer_kernel_8cpp_source.xhtml#l00103">CLPriorBoxLayerKernel::configure()</a>, <a class="el" href="_c_l_depthwise_vector_to_tensor_kernel_8cpp_source.xhtml#l00064">CLDepthwiseVectorToTensorKernel::configure()</a>, <a class="el" href="_c_l_bounding_box_transform_kernel_8cpp_source.xhtml#l00070">CLBoundingBoxTransformKernel::configure()</a>, <a class="el" href="_c_l_absolute_difference_kernel_8cpp_source.xhtml#l00047">CLAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_c_l_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00120">CLPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_c_l_l2_normalize_layer_kernel_8cpp_source.xhtml#l00095">CLL2NormalizeLayerKernel::configure()</a>, <a class="el" href="_c_l_magnitude_phase_kernel_8cpp_source.xhtml#l00046">CLMagnitudePhaseKernel::configure()</a>, <a class="el" href="_c_l_range_kernel_8cpp_source.xhtml#l00093">CLRangeKernel::configure()</a>, <a class="el" href="_c_l_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00098">CLFuseBatchNormalizationKernel::configure()</a>, <a class="el" href="_c_l_depthwise_im2_col_kernel_8cpp_source.xhtml#l00065">CLDepthwiseIm2ColKernel::configure()</a>, <a class="el" href="_c_l_select_kernel_8cpp_source.xhtml#l00109">CLSelectKernel::configure()</a>, <a class="el" href="_c_l_convert_fully_connected_weights_kernel_8cpp_source.xhtml#l00040">CLConvertFullyConnectedWeightsKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00057">CLConvolutionKernel< matrix_size >::configure()</a>, <a class="el" href="_c_l_y_o_l_o_layer_kernel_8cpp_source.xhtml#l00103">CLYOLOLayerKernel::configure()</a>, <a class="el" href="_c_l_winograd_input_transform_kernel_8cpp_source.xhtml#l00111">CLWinogradInputTransformKernel::configure()</a>, <a class="el" href="_c_l_r_o_i_align_layer_kernel_8cpp_source.xhtml#l00093">CLROIAlignLayerKernel::configure()</a>, <a class="el" href="_c_l_r_o_i_pooling_layer_kernel_8cpp_source.xhtml#l00073">CLROIPoolingLayerKernel::configure()</a>, <a class="el" href="_c_l_winograd_filter_transform_kernel_8cpp_source.xhtml#l00102">CLWinogradFilterTransformKernel::configure()</a>, <a class="el" href="_c_l_batch_normalization_layer_kernel_8cpp_source.xhtml#l00138">CLBatchNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_strided_slice_kernel_8cpp_source.xhtml#l00106">CLStridedSliceKernel::configure()</a>, <a class="el" href="_c_l_harris_corners_kernel_8cpp_source.xhtml#l00054">CLHarrisScoreKernel::configure()</a>, <a class="el" href="_c_l_winograd_output_transform_kernel_8cpp_source.xhtml#l00146">CLWinogradOutputTransformKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00263">CLGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00350">CLDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_c_l_col2_im_kernel_8cpp_source.xhtml#l00090">CLCol2ImKernel::configure()</a>, <a class="el" href="_c_l_weights_reshape_kernel_8cpp_source.xhtml#l00078">CLWeightsReshapeKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00111">CLEdgeNonMaxSuppressionKernel::configure()</a>, <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00169">CLMinMaxLocationKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00127">CLSeparableConvolutionHorKernel< matrix_size >::configure()</a>, <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00219">CLLogits1DMaxShiftExpSumKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00180">CLSeparableConvolutionVertKernel< matrix_size >::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00173">CLEdgeTraceKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00246">CLConvolutionRectangleKernel::configure()</a>, <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00335">CLLogits1DNormKernel::configure()</a>, and <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00122">get_underlying_cl_type_from_data_type()</a>.</p>
+
</div>
</div>
<a id="a0e62ce01a7a7af6c3d059bb8534cad45"></a>
@@ -14518,12 +15466,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>the highest OpenCL version supported </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00160">160</a> of file <a class="el" href="_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</a>.</p>
-
+<p class="definition">Definition at line <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00160">160</a> of file <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</a>.</p>
+<div class="fragment"><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>  std::string version_str = device.getInfo<CL_DEVICE_VERSION>();</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="keywordflow">if</span>(version_str.find(<span class="stringliteral">"OpenCL 2"</span>) != std::string::npos)</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="keywordflow">return</span> CLVersion::CL20;</div><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="keywordflow">else</span> <span class="keywordflow">if</span>(version_str.find(<span class="stringliteral">"OpenCL 1.2"</span>) != std::string::npos)</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> CLVersion::CL12;</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">else</span> <span class="keywordflow">if</span>(version_str.find(<span class="stringliteral">"OpenCL 1.1"</span>) != std::string::npos)</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">return</span> CLVersion::CL11;</div><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">else</span> <span class="keywordflow">if</span>(version_str.find(<span class="stringliteral">"OpenCL 1.0"</span>) != std::string::npos)</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  {</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <span class="keywordflow">return</span> CLVersion::CL10;</div><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> </div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <span class="keywordflow">return</span> CLVersion::UNKNOWN;</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span> }</div></div><!-- fragment -->
<p class="reference">References <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>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
-<p class="reference">Referenced by <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l00895">CLKernelLibrary::create_kernel()</a>.</p>
-<div class="fragment"><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>  std::string version_str = device.getInfo<CL_DEVICE_VERSION>();</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="keywordflow">if</span>(version_str.find(<span class="stringliteral">"OpenCL 2"</span>) != std::string::npos)</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="keywordflow">return</span> CLVersion::CL20;</div><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="keywordflow">else</span> <span class="keywordflow">if</span>(version_str.find(<span class="stringliteral">"OpenCL 1.2"</span>) != std::string::npos)</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> CLVersion::CL12;</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">else</span> <span class="keywordflow">if</span>(version_str.find(<span class="stringliteral">"OpenCL 1.1"</span>) != std::string::npos)</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">return</span> CLVersion::CL11;</div><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">else</span> <span class="keywordflow">if</span>(version_str.find(<span class="stringliteral">"OpenCL 1.0"</span>) != std::string::npos)</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  {</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <span class="keywordflow">return</span> CLVersion::CL10;</div><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> </div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <span class="keywordflow">return</span> CLVersion::UNKNOWN;</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span> }</div></div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l00964">CLKernelLibrary::create_kernel()</a>.</p>
+
</div>
</div>
<a id="a92d01d03db1530581737484c1290ca16"></a>
@@ -14550,20 +15498,20 @@
</dd>
</dl>
-<p class="definition">Definition at line <a class="el" href="_c_p_u_utils_8cpp_source.xhtml#l00304">304</a> of file <a class="el" href="_c_p_u_utils_8cpp_source.xhtml">CPUUtils.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00160">ARM_COMPUTE_UNUSED</a>, <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4ac942dc2a9f958acddc67e11472d3ca0b">GENERIC</a>, <a class="el" href="_c_p_u_utils_8cpp_source.xhtml#l00064">HWCAP_ASIMDDP</a>, <a class="el" href="_c_p_u_utils_8cpp_source.xhtml#l00056">HWCAP_ASIMDHP</a>, <a class="el" href="_c_p_u_utils_8cpp_source.xhtml#l00060">HWCAP_CPUID</a>, <a class="el" href="_c_p_p_types_8cpp_source.xhtml#l00045">CPUInfo::set_cpu_model()</a>, <a class="el" href="_c_p_p_types_8cpp_source.xhtml#l00097">CPUInfo::set_cpu_num()</a>, <a class="el" href="_c_p_p_types_8cpp_source.xhtml#l00040">CPUInfo::set_dotprod()</a>, and <a class="el" href="_c_p_p_types_8cpp_source.xhtml#l00035">CPUInfo::set_fp16()</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_c_p_u_utils_8cpp_source.xhtml#l00353">353</a> of file <a class="el" href="_c_p_u_utils_8cpp_source.xhtml">CPUUtils.cpp</a>.</p>
+<div class="fragment"><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> <span class="preprocessor">#if !defined(BARE_METAL) && (defined(__arm__) || defined(__aarch64__))</span></div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <span class="keywordtype">bool</span> cpuid = <span class="keyword">false</span>;</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="keywordtype">bool</span> hwcaps_fp16_support = <span class="keyword">false</span>;</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <span class="keywordtype">bool</span> hwcaps_dot_support = <span class="keyword">false</span>;</div><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="keyword">const</span> uint32_t hwcaps = getauxval(AT_HWCAP);</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">if</span>((hwcaps & <a class="code" href="_c_p_u_utils_8cpp.xhtml#a81886f53bcc05e6aa40366dcee3c80cc">HWCAP_CPUID</a>) != 0)</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>  cpuid = <span class="keyword">true</span>;</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> </div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  <span class="keywordflow">if</span>((hwcaps & <a class="code" href="_c_p_u_utils_8cpp.xhtml#a3adcaa91ed4b68e8939a5175133460d5">HWCAP_ASIMDHP</a>) != 0)</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>  hwcaps_fp16_support = <span class="keyword">true</span>;</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> </div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="preprocessor">#if defined(__aarch64__)</span></div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  <span class="keywordflow">if</span>((hwcaps & <a class="code" href="_c_p_u_utils_8cpp.xhtml#af2e3430d5d0940d0a78029eb50f69234">HWCAP_ASIMDDP</a>) != 0)</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>  hwcaps_dot_support = <span class="keyword">true</span>;</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> <span class="preprocessor">#endif </span><span class="comment">/* defined(__aarch64__) */</span><span class="preprocessor"></span></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>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> max_cpus = get_max_cpus();</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  cpuinfo.<a class="code" href="classarm__compute_1_1_c_p_u_info.xhtml#aba3b726afdf36bdcd7496e1bfb523e71">set_cpu_num</a>(max_cpus);</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  std::vector<CPUModel> percpu(max_cpus, CPUModel::GENERIC);</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  <span class="keywordflow">if</span>(cpuid)</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>  populate_models_cpuid(percpu);</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>  populate_models_cpuinfo(percpu);</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="keywordtype">int</span> j(0);</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <span class="comment">// Update dot product and FP16 support if one of the CPUs support these features</span></div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <span class="comment">// We assume that the system does not have mixed architectures</span></div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  <span class="keywordtype">bool</span> one_supports_dot = <span class="keyword">false</span>;</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  <span class="keywordtype">bool</span> one_supports_fp16 = <span class="keyword">false</span>;</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  <span class="keywordflow">for</span>(<span class="keyword">const</span> <span class="keyword">auto</span> &v : percpu)</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>  one_supports_dot = one_supports_dot || model_supports_dot(v);</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  one_supports_fp16 = one_supports_fp16 || model_supports_fp16(v);</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  cpuinfo.<a class="code" href="classarm__compute_1_1_c_p_u_info.xhtml#acb24f7c57aaeee1da27db2b4b52434ee">set_cpu_model</a>(j++, v);</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>  cpuinfo.<a class="code" href="classarm__compute_1_1_c_p_u_info.xhtml#a6d2db590ac4d869e8feb648beb80fcea">set_dotprod</a>(one_supports_dot || hwcaps_dot_support);</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  cpuinfo.<a class="code" href="classarm__compute_1_1_c_p_u_info.xhtml#a6dfc7d658828318e6c54988913c22ec7">set_fp16</a>(one_supports_fp16 || hwcaps_fp16_support);</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="preprocessor">#else </span><span class="comment">/* !defined(BARE_METAL) && (defined(__arm__) || defined(__aarch64__)) */</span><span class="preprocessor"></span></div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  <a class="code" href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(cpuinfo);</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="preprocessor">#endif </span><span class="comment">/* !defined(BARE_METAL) && (defined(__arm__) || defined(__aarch64__)) */</span><span class="preprocessor"></span></div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span> }</div><div class="ttc" id="_c_p_u_utils_8cpp_xhtml_af2e3430d5d0940d0a78029eb50f69234"><div class="ttname"><a href="_c_p_u_utils_8cpp.xhtml#af2e3430d5d0940d0a78029eb50f69234">HWCAP_ASIMDDP</a></div><div class="ttdeci">#define HWCAP_ASIMDDP</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_u_utils_8cpp_source.xhtml#l00065">CPUUtils.cpp:65</a></div></div>
+<div class="ttc" id="_c_p_u_utils_8cpp_xhtml_a81886f53bcc05e6aa40366dcee3c80cc"><div class="ttname"><a href="_c_p_u_utils_8cpp.xhtml#a81886f53bcc05e6aa40366dcee3c80cc">HWCAP_CPUID</a></div><div class="ttdeci">#define HWCAP_CPUID</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_u_utils_8cpp_source.xhtml#l00061">CPUUtils.cpp:61</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a6dc630a6ae9cc063b3924bcea8dee9d6"><div class="ttname"><a href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(...)</div><div class="ttdoc">To avoid unused variables warnings.</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00160">Error.h:160</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_c_p_u_info_xhtml_acb24f7c57aaeee1da27db2b4b52434ee"><div class="ttname"><a href="classarm__compute_1_1_c_p_u_info.xhtml#acb24f7c57aaeee1da27db2b4b52434ee">arm_compute::CPUInfo::set_cpu_model</a></div><div class="ttdeci">void set_cpu_model(unsigned int cpuid, CPUModel model)</div><div class="ttdoc">Set the cpumodel for a given cpu core.</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_types_8cpp_source.xhtml#l00045">CPPTypes.cpp:45</a></div></div>
+<div class="ttc" id="_c_p_u_utils_8cpp_xhtml_a3adcaa91ed4b68e8939a5175133460d5"><div class="ttname"><a href="_c_p_u_utils_8cpp.xhtml#a3adcaa91ed4b68e8939a5175133460d5">HWCAP_ASIMDHP</a></div><div class="ttdeci">#define HWCAP_ASIMDHP</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_u_utils_8cpp_source.xhtml#l00057">CPUUtils.cpp:57</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_c_p_u_info_xhtml_a6d2db590ac4d869e8feb648beb80fcea"><div class="ttname"><a href="classarm__compute_1_1_c_p_u_info.xhtml#a6d2db590ac4d869e8feb648beb80fcea">arm_compute::CPUInfo::set_dotprod</a></div><div class="ttdeci">void set_dotprod(const bool dotprod)</div><div class="ttdoc">Set dot product support.</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_types_8cpp_source.xhtml#l00040">CPPTypes.cpp:40</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_c_p_u_info_xhtml_a6dfc7d658828318e6c54988913c22ec7"><div class="ttname"><a href="classarm__compute_1_1_c_p_u_info.xhtml#a6dfc7d658828318e6c54988913c22ec7">arm_compute::CPUInfo::set_fp16</a></div><div class="ttdeci">void set_fp16(const bool fp16)</div><div class="ttdoc">Set fp16 support.</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_types_8cpp_source.xhtml#l00035">CPPTypes.cpp:35</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_c_p_u_info_xhtml_aba3b726afdf36bdcd7496e1bfb523e71"><div class="ttname"><a href="classarm__compute_1_1_c_p_u_info.xhtml#aba3b726afdf36bdcd7496e1bfb523e71">arm_compute::CPUInfo::set_cpu_num</a></div><div class="ttdeci">void set_cpu_num(unsigned int cpu_count)</div><div class="ttdoc">Set max number of cpus.</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_types_8cpp_source.xhtml#l00097">CPPTypes.cpp:97</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00160">ARM_COMPUTE_UNUSED</a>, <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4ac942dc2a9f958acddc67e11472d3ca0b">GENERIC</a>, <a class="el" href="_c_p_u_utils_8cpp_source.xhtml#l00065">HWCAP_ASIMDDP</a>, <a class="el" href="_c_p_u_utils_8cpp_source.xhtml#l00057">HWCAP_ASIMDHP</a>, <a class="el" href="_c_p_u_utils_8cpp_source.xhtml#l00061">HWCAP_CPUID</a>, <a class="el" href="_c_p_p_types_8cpp_source.xhtml#l00045">CPUInfo::set_cpu_model()</a>, <a class="el" href="_c_p_p_types_8cpp_source.xhtml#l00097">CPUInfo::set_cpu_num()</a>, <a class="el" href="_c_p_p_types_8cpp_source.xhtml#l00040">CPUInfo::set_dotprod()</a>, and <a class="el" href="_c_p_p_types_8cpp_source.xhtml#l00035">CPUInfo::set_fp16()</a>.</p>
<p class="reference">Referenced by <a class="el" href="_i_scheduler_8cpp_source.xhtml#l00031">IScheduler::IScheduler()</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="preprocessor">#if !defined(BARE_METAL) && (defined(__arm__) || defined(__aarch64__))</span></div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <span class="keywordtype">bool</span> cpuid = <span class="keyword">false</span>;</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <span class="keywordtype">bool</span> hwcaps_fp16_support = <span class="keyword">false</span>;</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <span class="keywordtype">bool</span> hwcaps_dot_support = <span class="keyword">false</span>;</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="keyword">const</span> uint32_t hwcaps = getauxval(AT_HWCAP);</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="keywordflow">if</span>((hwcaps & <a class="code" href="_c_p_u_utils_8cpp.xhtml#a81886f53bcc05e6aa40366dcee3c80cc">HWCAP_CPUID</a>) != 0)</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  {</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  cpuid = <span class="keyword">true</span>;</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> </div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  <span class="keywordflow">if</span>((hwcaps & <a class="code" href="_c_p_u_utils_8cpp.xhtml#a3adcaa91ed4b68e8939a5175133460d5">HWCAP_ASIMDHP</a>) != 0)</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>  hwcaps_fp16_support = <span class="keyword">true</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> </div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="preprocessor">#if defined(__aarch64__)</span></div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <span class="keywordflow">if</span>((hwcaps & <a class="code" href="_c_p_u_utils_8cpp.xhtml#af2e3430d5d0940d0a78029eb50f69234">HWCAP_ASIMDDP</a>) != 0)</div><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>  hwcaps_dot_support = <span class="keyword">true</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="preprocessor">#endif </span><span class="comment">/* defined(__aarch64__) */</span><span class="preprocessor"></span></div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span> </div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> max_cpus = get_max_cpus();</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  cpuinfo.<a class="code" href="classarm__compute_1_1_c_p_u_info.xhtml#aba3b726afdf36bdcd7496e1bfb523e71">set_cpu_num</a>(max_cpus);</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  std::vector<CPUModel> percpu(max_cpus, CPUModel::GENERIC);</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  <span class="keywordflow">if</span>(cpuid)</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>  populate_models_cpuid(percpu);</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></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>  populate_models_cpuinfo(percpu);</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="keywordtype">int</span> j(0);</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <span class="comment">// Update dot product and FP16 support if one of the CPUs support these features</span></div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <span class="comment">// We assume that the system does not have mixed architectures</span></div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <span class="keywordtype">bool</span> one_supports_dot = <span class="keyword">false</span>;</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <span class="keywordtype">bool</span> one_supports_fp16 = <span class="keyword">false</span>;</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <span class="keywordflow">for</span>(<span class="keyword">const</span> <span class="keyword">auto</span> &v : percpu)</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>  one_supports_dot = one_supports_dot || model_supports_dot(v);</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  one_supports_fp16 = one_supports_fp16 || model_supports_fp16(v);</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  cpuinfo.<a class="code" href="classarm__compute_1_1_c_p_u_info.xhtml#acb24f7c57aaeee1da27db2b4b52434ee">set_cpu_model</a>(j++, v);</div><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>  cpuinfo.<a class="code" href="classarm__compute_1_1_c_p_u_info.xhtml#a6d2db590ac4d869e8feb648beb80fcea">set_dotprod</a>(one_supports_dot || hwcaps_dot_support);</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  cpuinfo.<a class="code" href="classarm__compute_1_1_c_p_u_info.xhtml#a6dfc7d658828318e6c54988913c22ec7">set_fp16</a>(one_supports_fp16 || hwcaps_fp16_support);</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="preprocessor">#else </span><span class="comment">/* !defined(BARE_METAL) && (defined(__arm__) || defined(__aarch64__)) */</span><span class="preprocessor"></span></div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <a class="code" href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(cpuinfo);</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="preprocessor">#endif </span><span class="comment">/* !defined(BARE_METAL) && (defined(__arm__) || defined(__aarch64__)) */</span><span class="preprocessor"></span></div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span> }</div><div class="ttc" id="_c_p_u_utils_8cpp_xhtml_af2e3430d5d0940d0a78029eb50f69234"><div class="ttname"><a href="_c_p_u_utils_8cpp.xhtml#af2e3430d5d0940d0a78029eb50f69234">HWCAP_ASIMDDP</a></div><div class="ttdeci">#define HWCAP_ASIMDDP</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_u_utils_8cpp_source.xhtml#l00064">CPUUtils.cpp:64</a></div></div>
-<div class="ttc" id="_c_p_u_utils_8cpp_xhtml_a81886f53bcc05e6aa40366dcee3c80cc"><div class="ttname"><a href="_c_p_u_utils_8cpp.xhtml#a81886f53bcc05e6aa40366dcee3c80cc">HWCAP_CPUID</a></div><div class="ttdeci">#define HWCAP_CPUID</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_u_utils_8cpp_source.xhtml#l00060">CPUUtils.cpp:60</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a6dc630a6ae9cc063b3924bcea8dee9d6"><div class="ttname"><a href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(...)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00160">Error.h:160</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_c_p_u_info_xhtml_acb24f7c57aaeee1da27db2b4b52434ee"><div class="ttname"><a href="classarm__compute_1_1_c_p_u_info.xhtml#acb24f7c57aaeee1da27db2b4b52434ee">arm_compute::CPUInfo::set_cpu_model</a></div><div class="ttdeci">void set_cpu_model(unsigned int cpuid, CPUModel model)</div><div class="ttdoc">Set the cpumodel for a given cpu core. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_types_8cpp_source.xhtml#l00045">CPPTypes.cpp:45</a></div></div>
-<div class="ttc" id="_c_p_u_utils_8cpp_xhtml_a3adcaa91ed4b68e8939a5175133460d5"><div class="ttname"><a href="_c_p_u_utils_8cpp.xhtml#a3adcaa91ed4b68e8939a5175133460d5">HWCAP_ASIMDHP</a></div><div class="ttdeci">#define HWCAP_ASIMDHP</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_u_utils_8cpp_source.xhtml#l00056">CPUUtils.cpp:56</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_c_p_u_info_xhtml_a6d2db590ac4d869e8feb648beb80fcea"><div class="ttname"><a href="classarm__compute_1_1_c_p_u_info.xhtml#a6d2db590ac4d869e8feb648beb80fcea">arm_compute::CPUInfo::set_dotprod</a></div><div class="ttdeci">void set_dotprod(const bool dotprod)</div><div class="ttdoc">Set dot product support. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_types_8cpp_source.xhtml#l00040">CPPTypes.cpp:40</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_c_p_u_info_xhtml_a6dfc7d658828318e6c54988913c22ec7"><div class="ttname"><a href="classarm__compute_1_1_c_p_u_info.xhtml#a6dfc7d658828318e6c54988913c22ec7">arm_compute::CPUInfo::set_fp16</a></div><div class="ttdeci">void set_fp16(const bool fp16)</div><div class="ttdoc">Set fp16 support. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_types_8cpp_source.xhtml#l00035">CPPTypes.cpp:35</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_c_p_u_info_xhtml_aba3b726afdf36bdcd7496e1bfb523e71"><div class="ttname"><a href="classarm__compute_1_1_c_p_u_info.xhtml#aba3b726afdf36bdcd7496e1bfb523e71">arm_compute::CPUInfo::set_cpu_num</a></div><div class="ttdeci">void set_cpu_num(unsigned int cpu_count)</div><div class="ttdoc">Set max number of cpus. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_types_8cpp_source.xhtml#l00097">CPPTypes.cpp:97</a></div></div>
-</div><!-- fragment -->
+
</div>
</div>
<a id="a46e938020a3ac8c926d0590b7fe957db"></a>
@@ -14611,14 +15559,13 @@
<dl class="section return"><dt>Returns</dt><dd>The int conversion of the requested data layout index. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00326">326</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON_MSG</a>, <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a628bcf7e10fc1c2a984f379a1ec3393a">BATCHES</a>, <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02af52e9c50a060add65a035429b2a22229">CHANNEL</a>, <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02ad770ba3ce18fa409965dfdf5e7c348e6">HEIGHT</a>, <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">NCHW</a>, <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, and <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195">WIDTH</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00184">calculate_valid_region_scale()</a>, <a class="el" href="_c_l_depthwise_im2_col_kernel_8cpp_source.xhtml#l00041">CLDepthwiseIm2ColKernel::CLDepthwiseIm2ColKernel()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00592">arm_compute::misc::shape_calculator::compute_batch_to_space_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00181">arm_compute::misc::shape_calculator::compute_col2im_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00265">arm_compute::misc::shape_calculator::compute_deconvolution_output_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00240">arm_compute::misc::shape_calculator::compute_deconvolution_upsampled_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00460">arm_compute::misc::shape_calculator::compute_deep_convolution_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00216">arm_compute::misc::shape_calculator::compute_depthwise_convolution_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00283">arm_compute::misc::shape_calculator::compute_im2col_conv_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00496">arm_compute::misc::shape_calculator::compute_pool_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00650">arm_compute::misc::shape_calculator::compute_prior_box_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00062">arm_compute::misc::shape_calculator::compute_reorg_output_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00634">arm_compute::misc::shape_calculator::compute_space_to_batch_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00674">arm_compute::misc::shape_calculator::compute_upsample_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00041">arm_compute::misc::shape_calculator::compute_vector_to_tensor_output_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00388">arm_compute::misc::shape_calculator::compute_winograd_filter_transform_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00404">arm_compute::misc::shape_calculator::compute_winograd_input_transform_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00433">arm_compute::misc::shape_calculator::compute_winograd_output_transform_shape()</a>, <a class="el" href="_c_l_scale_kernel_8cpp_source.xhtml#l00161">CLScaleKernel::configure()</a>, <a class="el" href="_c_l_r_n_n_layer_8cpp_source.xhtml#l00069">CLRNNLayer::configure()</a>, <a class="el" href="_n_e_im2_col_8cpp_source.xhtml#l00037">NEIm2Col::configure()</a>, <a class="el" href="_c_l_channel_shuffle_layer_kernel_8cpp_source.xhtml#l00094">CLChannelShuffleLayerKernel::configure()</a>, <a class="el" href="_c_l_batch_to_space_layer_kernel_8cpp_source.xhtml#l00084">CLBatchToSpaceLayerKernel::configure()</a>, <a class="el" href="_c_l_reorg_layer_kernel_8cpp_source.xhtml#l00076">CLReorgLayerKernel::configure()</a>, <a class="el" href="_c_l_space_to_batch_layer_kernel_8cpp_source.xhtml#l00083">CLSpaceToBatchLayerKernel::configure()</a>, <a class="el" href="_n_e_scale_8cpp_source.xhtml#l00099">NEScale::configure()</a>, <a class="el" href="_c_l_depthwise_weights_reshape_kernel_8cpp_source.xhtml#l00069">CLDepthwiseWeightsReshapeKernel::configure()</a>, <a class="el" href="_c_l_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00097">CLNormalizePlanarYUVLayerKernel::configure()</a>, <a class="el" href="_c_l_pooling_layer_kernel_8cpp_source.xhtml#l00184">CLPoolingLayerKernel::configure()</a>, <a class="el" href="_n_e_concatenate_layer_8cpp_source.xhtml#l00042">NEConcatenateLayer::configure()</a>, <a class="el" href="_c_l_prior_box_layer_kernel_8cpp_source.xhtml#l00122">CLPriorBoxLayerKernel::configure()</a>, <a class="el" href="_c_l_concatenate_layer_8cpp_source.xhtml#l00042">CLConcatenateLayer::configure()</a>, <a class="el" href="_n_e_pooling_layer_kernel_8cpp_source.xhtml#l00335">NEPoolingLayerKernel::configure()</a>, <a class="el" href="_c_l_depthwise_im2_col_kernel_8cpp_source.xhtml#l00064">CLDepthwiseIm2ColKernel::configure()</a>, <a class="el" href="_c_l_convert_fully_connected_weights_kernel_8cpp_source.xhtml#l00040">CLConvertFullyConnectedWeightsKernel::configure()</a>, <a class="el" href="_c_l_winograd_input_transform_kernel_8cpp_source.xhtml#l00111">CLWinogradInputTransformKernel::configure()</a>, <a class="el" href="_n_e_r_n_n_layer_8cpp_source.xhtml#l00067">NERNNLayer::configure()</a>, <a class="el" href="_n_e_convert_fully_connected_weights_kernel_8cpp_source.xhtml#l00036">NEConvertFullyConnectedWeightsKernel::configure()</a>, <a class="el" href="_n_e_direct_convolution_layer_kernel_8cpp_source.xhtml#l01155">NEDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_n_e_scale_kernel_8cpp_source.xhtml#l00285">NEScaleKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00350">CLDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_n_e_winograd_convolution_layer_8cpp_source.xhtml#l00244">NEWinogradConvolutionLayer::configure()</a>, <a class="el" href="_c_l_winograd_convolution_layer_8cpp_source.xhtml#l00092">CLWinogradConvolutionLayer::configure()</a>, <a class="el" href="_c_l_im2_col_kernel_8cpp_source.xhtml#l00288">CLIm2ColKernel::configure()</a>, <a class="el" href="_n_e_im2_col_kernel_8cpp_source.xhtml#l00333">NEIm2ColKernel::configure()</a>, <a class="el" href="_c_l_deconvolution_layer_8cpp_source.xhtml#l00110">CLDeconvolutionLayer::configure()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00173">NEGEMMConvolutionLayer::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_8cpp_source.xhtml#l00098">CLDepthwiseConvolutionLayer::configure()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00164">CLGEMMConvolutionLayer::configure()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00268">NEDepthwiseConvolutionLayer::configure()</a>, <a class="el" href="_r_o_i_align_layer_node_8cpp_source.xhtml#l00060">ROIAlignLayerNode::configure_output()</a>, <a class="el" href="reference_2_convert_fully_connected_weights_8cpp_source.xhtml#l00035">arm_compute::test::validation::reference::convert_fully_connected_weights()</a>, <a class="el" href="validation_2_n_e_o_n_2_scale_8cpp_source.xhtml#l00128">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_sub_tensor_info_8h_source.xhtml#l00124">SubTensorInfo::dimension()</a>, <a class="el" href="_tensor_info_8h_source.xhtml#l00227">TensorInfo::dimension()</a>, <a class="el" href="_image_loader_8h_source.xhtml#l00256">IImageLoader::fill_planar_tensor()</a>, <a class="el" href="_c_p_p_flip_weights_kernel_8cpp_source.xhtml#l00045">CPPFlipWeightsKernel::flip_weights()</a>, <a class="el" href="_c_l_convolution_layer_8cpp_source.xhtml#l00122">CLConvolutionLayer::get_convolution_method()</a>, <a class="el" href="_n_e_convolution_layer_8cpp_source.xhtml#l00108">NEConvolutionLayer::get_convolution_method()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00683">get_normalization_dimension_index()</a>, <a class="el" href="_n_e_prior_box_layer_kernel_8cpp_source.xhtml#l00108">NEPriorBoxLayerKernel::NEPriorBoxLayerKernel()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>, <a class="el" href="_graph_utils_8cpp_source.xhtml#l00089">CaffePreproccessor::preprocess()</a>, <a class="el" href="_c_l_deconvolution_layer_upsample_kernel_8cpp_source.xhtml#l00099">CLDeconvolutionLayerUpsampleKernel::run()</a>, <a class="el" href="_c_l_depthwise_weights_reshape_kernel_8cpp_source.xhtml#l00107">CLDepthwiseWeightsReshapeKernel::run()</a>, <a class="el" href="_n_e_direct_convolution_layer_kernel_8cpp_source.xhtml#l01209">NEDirectConvolutionLayerKernel::run()</a>, <a class="el" href="_c_l_winograd_input_transform_kernel_8cpp_source.xhtml#l00227">CLWinogradInputTransformKernel::run()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00503">CLDirectConvolutionLayerKernel::run()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00571">NEGEMMConvolutionLayer::run()</a>, <a class="el" href="_c_l_upsample_layer_kernel_8cpp_source.xhtml#l00043">CLUpsampleLayerKernel::validate()</a>, <a class="el" href="_c_l_r_n_n_layer_8cpp_source.xhtml#l00044">CLRNNLayer::validate()</a>, <a class="el" href="_c_l_deconvolution_layer_upsample_kernel_8cpp_source.xhtml#l00041">CLDeconvolutionLayerUpsampleKernel::validate()</a>, <a class="el" href="_n_e_scale_8cpp_source.xhtml#l00173">NEScale::validate()</a>, <a class="el" href="_n_e_upsample_layer_kernel_8cpp_source.xhtml#l00089">NEUpsampleLayerKernel::validate()</a>, <a class="el" href="_c_l_concatenate_layer_8cpp_source.xhtml#l00067">CLConcatenateLayer::validate()</a>, <a class="el" href="_n_e_pooling_layer_kernel_8cpp_source.xhtml#l02030">NEPoolingLayerKernel::validate()</a>, <a class="el" href="_n_e_concatenate_layer_8cpp_source.xhtml#l00067">NEConcatenateLayer::validate()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00062">NEConvolutionLayerReshapeWeights::validate()</a>, <a class="el" href="_n_e_r_n_n_layer_8cpp_source.xhtml#l00042">NERNNLayer::validate()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00063">CLConvolutionLayerReshapeWeights::validate()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00174">NEDepthwiseConvolutionLayer3x3::validate()</a>, <a class="el" href="_n_e_winograd_convolution_layer_8cpp_source.xhtml#l00545">NEWinogradConvolutionLayer::validate()</a>, <a class="el" href="_c_l_winograd_convolution_layer_8cpp_source.xhtml#l00150">CLWinogradConvolutionLayer::validate()</a>, <a class="el" href="_c_l_deconvolution_layer_8cpp_source.xhtml#l00051">CLDeconvolutionLayer::validate()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00377">NEGEMMConvolutionLayer::validate()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_8cpp_source.xhtml#l00202">CLDepthwiseConvolutionLayer::validate()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00346">CLGEMMConvolutionLayer::validate()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00401">NEDepthwiseConvolutionLayer::validate()</a>, <a class="el" href="_n_e_winograd_convolution_layer_kernel_8cpp_source.xhtml#l00215">INEWinogradLayerTransformWeightsKernel< T >::validate()</a>, and <a class="el" href="reference_2_winograd_8cpp_source.xhtml#l00437">arm_compute::test::validation::reference::winograd_output_transform()</a>.</p>
-<div class="fragment"><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>  <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">data_layout</a> == DataLayout::UNKNOWN, <span class="stringliteral">"Cannot retrieve the dimension index for an unknown layout!"</span>);</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span> </div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <span class="comment">/* Return the index based on the data layout</span></div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="comment"> * [N C H W]</span></div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="comment"> * [3 2 1 0]</span></div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="comment"> * [N H W C]</span></div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="comment"> */</span></div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  <span class="keywordflow">switch</span>(data_layout_dimension)</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">case</span> DataLayoutDimension::CHANNEL:</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <span class="keywordflow">return</span> (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">data_layout</a> == DataLayout::NCHW) ? 2 : 0;</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> DataLayoutDimension::HEIGHT:</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <span class="keywordflow">return</span> (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">data_layout</a> == DataLayout::NCHW) ? 1 : 2;</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> DataLayoutDimension::WIDTH:</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <span class="keywordflow">return</span> (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">data_layout</a> == DataLayout::NCHW) ? 0 : 1;</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> DataLayoutDimension::BATCHES:</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  <span class="keywordflow">return</span> 3;</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">default</span>:</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Data layout index not supported!"</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>  }</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</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#l00261">Error.h:261</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a786677cbfb3f5677b4d84f3056eb08db"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">arm_compute::test::validation::data_layout</a></div><div class="ttdeci">data_layout</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00251">Winograd.cpp:251</a></div></div>
+<div class="fragment"><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>  <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(data_layout == DataLayout::UNKNOWN, <span class="stringliteral">"Cannot retrieve the dimension index for an unknown layout!"</span>);</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span> </div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <span class="comment">/* Return the index based on the data layout</span></div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="comment"> * [N C H W]</span></div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="comment"> * [3 2 1 0]</span></div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="comment"> * [N H W C]</span></div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="comment"> */</span></div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  <span class="keywordflow">switch</span>(data_layout_dimension)</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">case</span> DataLayoutDimension::CHANNEL:</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <span class="keywordflow">return</span> (data_layout == DataLayout::NCHW) ? 2 : 0;</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> DataLayoutDimension::HEIGHT:</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <span class="keywordflow">return</span> (data_layout == DataLayout::NCHW) ? 1 : 2;</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> DataLayoutDimension::WIDTH:</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <span class="keywordflow">return</span> (data_layout == DataLayout::NCHW) ? 0 : 1;</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> DataLayoutDimension::BATCHES:</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  <span class="keywordflow">return</span> 3;</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">default</span>:</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Data layout index not supported!"</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>  }</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</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#l00261">Error.h:261</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#l00328">Error.h:328</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON_MSG</a>, <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a628bcf7e10fc1c2a984f379a1ec3393a">BATCHES</a>, <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02af52e9c50a060add65a035429b2a22229">CHANNEL</a>, <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02ad770ba3ce18fa409965dfdf5e7c348e6">HEIGHT</a>, <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">NCHW</a>, <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, and <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195">WIDTH</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00329">calculate_same_pad()</a>, <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00184">calculate_valid_region_scale()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00983">arm_compute::misc::shape_calculator::compute_batch_to_space_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00358">arm_compute::misc::shape_calculator::compute_col2im_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00511">arm_compute::misc::shape_calculator::compute_deconvolution_output_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00478">arm_compute::misc::shape_calculator::compute_deconvolution_upsampled_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00730">arm_compute::misc::shape_calculator::compute_deep_convolution_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00408">arm_compute::misc::shape_calculator::compute_depthwise_convolution_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00541">arm_compute::misc::shape_calculator::compute_im2col_conv_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00779">arm_compute::misc::shape_calculator::compute_pool_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l01066">arm_compute::misc::shape_calculator::compute_prior_box_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00085">arm_compute::misc::shape_calculator::compute_reorg_output_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00260">arm_compute::misc::shape_calculator::compute_reshaped_depthwise_weights_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00812">arm_compute::misc::shape_calculator::compute_roi_align_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l01043">arm_compute::misc::shape_calculator::compute_space_to_batch_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l01138">arm_compute::misc::shape_calculator::compute_upsample_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00050">arm_compute::misc::shape_calculator::compute_vector_to_tensor_output_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00636">arm_compute::misc::shape_calculator::compute_winograd_filter_transform_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00659">arm_compute::misc::shape_calculator::compute_winograd_input_transform_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00695">arm_compute::misc::shape_calculator::compute_winograd_output_transform_shape()</a>, <a class="el" href="_c_l_scale_kernel_8cpp_source.xhtml#l00161">CLScaleKernel::configure()</a>, <a class="el" href="_c_l_r_n_n_layer_8cpp_source.xhtml#l00069">CLRNNLayer::configure()</a>, <a class="el" href="_n_e_im2_col_8cpp_source.xhtml#l00037">NEIm2Col::configure()</a>, <a class="el" href="_c_l_channel_shuffle_layer_kernel_8cpp_source.xhtml#l00095">CLChannelShuffleLayerKernel::configure()</a>, <a class="el" href="_c_l_batch_to_space_layer_kernel_8cpp_source.xhtml#l00084">CLBatchToSpaceLayerKernel::configure()</a>, <a class="el" href="_c_l_reorg_layer_kernel_8cpp_source.xhtml#l00076">CLReorgLayerKernel::configure()</a>, <a class="el" href="_c_l_space_to_batch_layer_kernel_8cpp_source.xhtml#l00089">CLSpaceToBatchLayerKernel::configure()</a>, <a class="el" href="_n_e_scale_8cpp_source.xhtml#l00104">NEScale::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_reshape_weights_generic_kernel_8cpp_source.xhtml#l00070">CLDepthwiseConvolutionLayerReshapeWeightsGenericKernel::configure()</a>, <a class="el" href="_c_l_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00098">CLNormalizePlanarYUVLayerKernel::configure()</a>, <a class="el" href="_c_l_pooling_layer_kernel_8cpp_source.xhtml#l00185">CLPoolingLayerKernel::configure()</a>, <a class="el" href="_c_l_prior_box_layer_kernel_8cpp_source.xhtml#l00103">CLPriorBoxLayerKernel::configure()</a>, <a class="el" href="_n_e_concatenate_layer_8cpp_source.xhtml#l00042">NEConcatenateLayer::configure()</a>, <a class="el" href="_c_l_concatenate_layer_8cpp_source.xhtml#l00042">CLConcatenateLayer::configure()</a>, <a class="el" href="_n_e_pooling_layer_kernel_8cpp_source.xhtml#l00334">NEPoolingLayerKernel::configure()</a>, <a class="el" href="_c_l_depthwise_im2_col_kernel_8cpp_source.xhtml#l00065">CLDepthwiseIm2ColKernel::configure()</a>, <a class="el" href="_c_l_convert_fully_connected_weights_kernel_8cpp_source.xhtml#l00040">CLConvertFullyConnectedWeightsKernel::configure()</a>, <a class="el" href="_n_e_r_n_n_layer_8cpp_source.xhtml#l00067">NERNNLayer::configure()</a>, <a class="el" href="_c_l_winograd_input_transform_kernel_8cpp_source.xhtml#l00111">CLWinogradInputTransformKernel::configure()</a>, <a class="el" href="_c_l_r_o_i_align_layer_kernel_8cpp_source.xhtml#l00093">CLROIAlignLayerKernel::configure()</a>, <a class="el" href="_n_e_convert_fully_connected_weights_kernel_8cpp_source.xhtml#l00036">NEConvertFullyConnectedWeightsKernel::configure()</a>, <a class="el" href="_n_e_direct_convolution_layer_kernel_8cpp_source.xhtml#l01155">NEDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_n_e_scale_kernel_8cpp_source.xhtml#l00306">NEScaleKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00350">CLDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_n_e_winograd_convolution_layer_8cpp_source.xhtml#l00244">NEWinogradConvolutionLayer::configure()</a>, <a class="el" href="_c_l_winograd_convolution_layer_8cpp_source.xhtml#l00092">CLWinogradConvolutionLayer::configure()</a>, <a class="el" href="_c_l_im2_col_kernel_8cpp_source.xhtml#l00293">CLIm2ColKernel::configure()</a>, <a class="el" href="_c_l_generate_proposals_layer_8cpp_source.xhtml#l00058">CLGenerateProposalsLayer::configure()</a>, <a class="el" href="_n_e_im2_col_kernel_8cpp_source.xhtml#l00334">NEIm2ColKernel::configure()</a>, <a class="el" href="_c_l_deconvolution_layer_8cpp_source.xhtml#l00110">CLDeconvolutionLayer::configure()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00173">NEGEMMConvolutionLayer::configure()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00169">CLGEMMConvolutionLayer::configure()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00268">NEDepthwiseConvolutionLayer::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_8cpp_source.xhtml#l00231">CLDepthwiseConvolutionLayer::configure()</a>, <a class="el" href="_r_o_i_align_layer_node_8cpp_source.xhtml#l00060">ROIAlignLayerNode::configure_output()</a>, <a class="el" href="reference_2_convert_fully_connected_weights_8cpp_source.xhtml#l00035">arm_compute::test::validation::reference::convert_fully_connected_weights()</a>, <a class="el" href="_sub_tensor_info_8h_source.xhtml#l00124">SubTensorInfo::dimension()</a>, <a class="el" href="_tensor_info_8h_source.xhtml#l00227">TensorInfo::dimension()</a>, <a class="el" href="_image_loader_8h_source.xhtml#l00256">IImageLoader::fill_planar_tensor()</a>, <a class="el" href="_c_p_p_flip_weights_kernel_8cpp_source.xhtml#l00045">CPPFlipWeightsKernel::flip_weights()</a>, <a class="el" href="_c_l_convolution_layer_8cpp_source.xhtml#l00122">CLConvolutionLayer::get_convolution_method()</a>, <a class="el" href="_n_e_convolution_layer_8cpp_source.xhtml#l00108">NEConvolutionLayer::get_convolution_method()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00717">get_normalization_dimension_index()</a>, <a class="el" href="_graph_utils_8cpp_source.xhtml#l00089">CaffePreproccessor::preprocess()</a>, <a class="el" href="_c_l_deconvolution_layer_upsample_kernel_8cpp_source.xhtml#l00101">CLDeconvolutionLayerUpsampleKernel::run()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_reshape_weights_generic_kernel_8cpp_source.xhtml#l00108">CLDepthwiseConvolutionLayerReshapeWeightsGenericKernel::run()</a>, <a class="el" href="_c_l_r_o_i_align_layer_kernel_8cpp_source.xhtml#l00133">CLROIAlignLayerKernel::run()</a>, <a class="el" href="_n_e_direct_convolution_layer_kernel_8cpp_source.xhtml#l01209">NEDirectConvolutionLayerKernel::run()</a>, <a class="el" href="_c_l_winograd_input_transform_kernel_8cpp_source.xhtml#l00227">CLWinogradInputTransformKernel::run()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00503">CLDirectConvolutionLayerKernel::run()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00571">NEGEMMConvolutionLayer::run()</a>, <a class="el" href="_c_l_r_n_n_layer_8cpp_source.xhtml#l00044">CLRNNLayer::validate()</a>, <a class="el" href="_c_l_upsample_layer_kernel_8cpp_source.xhtml#l00044">CLUpsampleLayerKernel::validate()</a>, <a class="el" href="_c_l_deconvolution_layer_upsample_kernel_8cpp_source.xhtml#l00042">CLDeconvolutionLayerUpsampleKernel::validate()</a>, <a class="el" href="_n_e_scale_8cpp_source.xhtml#l00178">NEScale::validate()</a>, <a class="el" href="_n_e_upsample_layer_kernel_8cpp_source.xhtml#l00090">NEUpsampleLayerKernel::validate()</a>, <a class="el" href="_n_e_pooling_layer_kernel_8cpp_source.xhtml#l01742">NEPoolingLayerKernel::validate()</a>, <a class="el" href="_n_e_concatenate_layer_8cpp_source.xhtml#l00067">NEConcatenateLayer::validate()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00062">NEConvolutionLayerReshapeWeights::validate()</a>, <a class="el" href="_c_l_concatenate_layer_8cpp_source.xhtml#l00067">CLConcatenateLayer::validate()</a>, <a class="el" href="_n_e_r_n_n_layer_8cpp_source.xhtml#l00042">NERNNLayer::validate()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00063">CLConvolutionLayerReshapeWeights::validate()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00174">NEDepthwiseConvolutionLayer3x3::validate()</a>, <a class="el" href="_n_e_winograd_convolution_layer_8cpp_source.xhtml#l00546">NEWinogradConvolutionLayer::validate()</a>, <a class="el" href="_c_l_winograd_convolution_layer_8cpp_source.xhtml#l00143">CLWinogradConvolutionLayer::validate()</a>, <a class="el" href="_c_l_generate_proposals_layer_8cpp_source.xhtml#l00158">CLGenerateProposalsLayer::validate()</a>, <a class="el" href="_c_l_deconvolution_layer_8cpp_source.xhtml#l00051">CLDeconvolutionLayer::validate()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00377">NEGEMMConvolutionLayer::validate()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00353">CLGEMMConvolutionLayer::validate()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00401">NEDepthwiseConvolutionLayer::validate()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_8cpp_source.xhtml#l00347">CLDepthwiseConvolutionLayer::validate()</a>, <a class="el" href="_n_e_winograd_convolution_layer_kernel_8cpp_source.xhtml#l00215">INEWinogradLayerTransformWeightsKernel< T >::validate()</a>, and <a class="el" href="reference_2_winograd_8cpp_source.xhtml#l00437">arm_compute::test::validation::reference::winograd_output_transform()</a>.</p>
+
</div>
</div>
<a id="ab631f49c436b1f18beff3248c4b1a19e"></a>
@@ -14646,13 +15593,13 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of bits in the data type specified. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00097">97</a> of file <a class="el" href="_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</a>.</p>
-
+<p class="definition">Definition at line <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00097">97</a> of file <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span> {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keywordflow">switch</span>(dt)</div><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>  <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordflow">return</span> <span class="stringliteral">"8"</span>;</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordflow">return</span> <span class="stringliteral">"16"</span>;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keywordflow">return</span> <span class="stringliteral">"32"</span>;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="keywordflow">return</span> <span class="stringliteral">"64"</span>;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Unsupported input data type."</span>);</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keywordflow">return</span> <span class="stringliteral">"0"</span>;</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> }</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#l00261">Error.h:261</a></div></div>
+</div><!-- fragment -->
<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">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#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#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 class="reference">Referenced by <a class="el" href="_c_l_r_o_i_pooling_layer_kernel_8cpp_source.xhtml#l00049">CLROIPoolingLayerKernel::configure()</a>, <a class="el" href="_c_l_r_o_i_align_layer_kernel_8cpp_source.xhtml#l00092">CLROIAlignLayerKernel::configure()</a>, and <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00350">CLDirectConvolutionLayerKernel::configure()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span> {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keywordflow">switch</span>(dt)</div><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>  <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordflow">return</span> <span class="stringliteral">"8"</span>;</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordflow">return</span> <span class="stringliteral">"16"</span>;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keywordflow">return</span> <span class="stringliteral">"32"</span>;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="keywordflow">return</span> <span class="stringliteral">"64"</span>;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Unsupported input data type."</span>);</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keywordflow">return</span> <span class="stringliteral">"0"</span>;</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> }</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#l00261">Error.h:261</a></div></div>
-</div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="_c_l_r_o_i_align_layer_kernel_8cpp_source.xhtml#l00093">CLROIAlignLayerKernel::configure()</a>, <a class="el" href="_c_l_r_o_i_pooling_layer_kernel_8cpp_source.xhtml#l00073">CLROIPoolingLayerKernel::configure()</a>, and <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00350">CLDirectConvolutionLayerKernel::configure()</a>.</p>
+
</div>
</div>
<a id="ae76431f34048289454a9cb6dc66d7c6b"></a>
@@ -14699,14 +15646,14 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Normalization dimension index </dd></dl>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00683">683</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
-
-<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02af52e9c50a060add65a035429b2a22229">CHANNEL</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00326">get_data_layout_dimension_index()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01391">NormalizationLayerInfo::is_in_map()</a>, and <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195">WIDTH</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_c_l_normalization_layer_kernel_8cpp_source.xhtml#l00108">CLNormalizationLayerKernel::configure()</a>, and <a class="el" href="_n_e_normalization_layer_kernel_8cpp_source.xhtml#l00115">NENormalizationLayerKernel::configure()</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="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> width_idx = <a class="code" href="namespacearm__compute.xhtml#a46e938020a3ac8c926d0590b7fe957db">get_data_layout_dimension_index</a>(layout, DataLayoutDimension::WIDTH);</div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel_idx = <a class="code" href="namespacearm__compute.xhtml#a46e938020a3ac8c926d0590b7fe957db">get_data_layout_dimension_index</a>(layout, DataLayoutDimension::CHANNEL);</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="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.is_in_map() ? width_idx : channel_idx;</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</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_a46e938020a3ac8c926d0590b7fe957db"><div class="ttname"><a href="namespacearm__compute.xhtml#a46e938020a3ac8c926d0590b7fe957db">arm_compute::get_data_layout_dimension_index</a></div><div class="ttdeci">size_t get_data_layout_dimension_index(const DataLayout data_layout, const DataLayoutDimension data_layout_dimension)</div><div class="ttdoc">Get the index of the given dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00326">Helpers.inl:326</a></div></div>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00717">717</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="l00718"></a><span class="lineno"> 718</span> {</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> width_idx = <a class="code" href="namespacearm__compute.xhtml#a46e938020a3ac8c926d0590b7fe957db">get_data_layout_dimension_index</a>(layout, DataLayoutDimension::WIDTH);</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel_idx = <a class="code" href="namespacearm__compute.xhtml#a46e938020a3ac8c926d0590b7fe957db">get_data_layout_dimension_index</a>(layout, DataLayoutDimension::CHANNEL);</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>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.is_in_map() ? width_idx : channel_idx;</div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a46e938020a3ac8c926d0590b7fe957db"><div class="ttname"><a href="namespacearm__compute.xhtml#a46e938020a3ac8c926d0590b7fe957db">arm_compute::get_data_layout_dimension_index</a></div><div class="ttdeci">size_t get_data_layout_dimension_index(const DataLayout data_layout, const DataLayoutDimension data_layout_dimension)</div><div class="ttdoc">Get the index of the given dimension.</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00326">Helpers.inl:326</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a4f4125dba5283887b34f889b1c615c0c"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">arm_compute::test::validation::info</a></div><div class="ttdeci">info</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">ConvolutionLayer.cpp:174</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02af52e9c50a060add65a035429b2a22229">CHANNEL</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00326">get_data_layout_dimension_index()</a>, <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">arm_compute::test::validation::info</a>, and <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195">WIDTH</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_c_l_normalization_layer_kernel_8cpp_source.xhtml#l00107">CLNormalizationLayerKernel::configure()</a>, and <a class="el" href="_n_e_normalization_layer_kernel_8cpp_source.xhtml#l00115">NENormalizationLayerKernel::configure()</a>.</p>
+
</div>
</div>
<a id="a5e4254e9c71fffafb79b99d972df8f81"></a>
@@ -14744,10 +15691,10 @@
<dl class="section return"><dt>Returns</dt><dd>Promoted data type </dd></dl>
<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00512">512</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">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#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="l00513"></a><span class="lineno"> 513</span> {</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  {</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  <span class="keywordflow">return</span> DataType::U16;</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  <span class="keywordflow">return</span> DataType::S16;</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  <span class="keywordflow">return</span> DataType::U32;</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Unsupported data type promotions!"</span>);</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Undefined data type!"</span>);</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::UNKNOWN;</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</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#l00261">Error.h:261</a></div></div>
+<div class="fragment"><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">switch</span>(dt)</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  {</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  <span class="keywordflow">return</span> DataType::U16;</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  <span class="keywordflow">return</span> DataType::S16;</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  <span class="keywordflow">return</span> DataType::U32;</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Unsupported data type promotions!"</span>);</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Undefined data type!"</span>);</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::UNKNOWN;</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</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#l00261">Error.h:261</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">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#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>
</div>
<a id="a786b9d823a527bb1e30d38f4dbe52d4b"></a>
@@ -14769,11 +15716,11 @@
<dl class="section return"><dt>Returns</dt><dd>the GPU target </dd></dl>
<p class="definition">Definition at line <a class="el" href="_g_c_helpers_8cpp_source.xhtml#l00028">28</a> of file <a class="el" href="_g_c_helpers_8cpp_source.xhtml">GCHelpers.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="src_2core_2_g_p_u_target_8cpp_source.xhtml#l00127">get_target_from_name()</a>, and <a class="el" href="_open_g_l_e_s_8cpp_source.xhtml#l00672">glGetString()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> {</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  <span class="keyword">const</span> std::string device_name = <span class="keyword">reinterpret_cast<</span><span class="keyword">const </span><span class="keywordtype">char</span> *<span class="keyword">></span>(<a class="code" href="_open_g_l_e_s_8cpp.xhtml#a2ee378c6363791b2a733b2ba4ec6e846">glGetString</a>(GL_RENDERER));</div><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>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a0dc6fb54ac0bbc7bf512fe0ca7414076">get_target_from_name</a>(device_name);</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a0dc6fb54ac0bbc7bf512fe0ca7414076"><div class="ttname"><a href="namespacearm__compute.xhtml#a0dc6fb54ac0bbc7bf512fe0ca7414076">arm_compute::get_target_from_name</a></div><div class="ttdeci">GPUTarget get_target_from_name(const std::string &device_name)</div><div class="ttdoc">Helper function to get the GPU target from a device name. </div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_g_p_u_target_8cpp_source.xhtml#l00127">GPUTarget.cpp:127</a></div></div>
+<div class="fragment"><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> {</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  <span class="keyword">const</span> std::string device_name = reinterpret_cast<const char *>(<a class="code" href="_open_g_l_e_s_8cpp.xhtml#a2ee378c6363791b2a733b2ba4ec6e846">glGetString</a>(GL_RENDERER));</div><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>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a0dc6fb54ac0bbc7bf512fe0ca7414076">get_target_from_name</a>(device_name);</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a0dc6fb54ac0bbc7bf512fe0ca7414076"><div class="ttname"><a href="namespacearm__compute.xhtml#a0dc6fb54ac0bbc7bf512fe0ca7414076">arm_compute::get_target_from_name</a></div><div class="ttdeci">GPUTarget get_target_from_name(const std::string &device_name)</div><div class="ttdoc">Helper function to get the GPU target from a device name.</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_g_p_u_target_8cpp_source.xhtml#l00127">GPUTarget.cpp:127</a></div></div>
<div class="ttc" id="_open_g_l_e_s_8cpp_xhtml_a2ee378c6363791b2a733b2ba4ec6e846"><div class="ttname"><a href="_open_g_l_e_s_8cpp.xhtml#a2ee378c6363791b2a733b2ba4ec6e846">glGetString</a></div><div class="ttdeci">const GLubyte *GL_APIENTRY glGetString(GLenum name)</div><div class="ttdef"><b>Definition:</b> <a href="_open_g_l_e_s_8cpp_source.xhtml#l00672">OpenGLES.cpp:672</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="src_2core_2_g_p_u_target_8cpp_source.xhtml#l00127">get_target_from_name()</a>, and <a class="el" href="_open_g_l_e_s_8cpp_source.xhtml#l00672">glGetString()</a>.</p>
+
</div>
</div>
<a id="a281384aa081efe5819eedd6a7c2a429b"></a>
@@ -14801,13 +15748,13 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>the GPU target </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00127">127</a> of file <a class="el" href="_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</a>.</p>
-
+<p class="definition">Definition at line <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00127">127</a> of file <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</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>  <span class="comment">// Query device name size</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  std::string device_name = device.getInfo<CL_DEVICE_NAME>();</div><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.xhtml#a0dc6fb54ac0bbc7bf512fe0ca7414076">get_target_from_name</a>(device_name);</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a0dc6fb54ac0bbc7bf512fe0ca7414076"><div class="ttname"><a href="namespacearm__compute.xhtml#a0dc6fb54ac0bbc7bf512fe0ca7414076">arm_compute::get_target_from_name</a></div><div class="ttdeci">GPUTarget get_target_from_name(const std::string &device_name)</div><div class="ttdoc">Helper function to get the GPU target from a device name.</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_g_p_u_target_8cpp_source.xhtml#l00127">GPUTarget.cpp:127</a></div></div>
+</div><!-- fragment -->
<p class="reference">References <a class="el" href="src_2core_2_g_p_u_target_8cpp_source.xhtml#l00127">get_target_from_name()</a>.</p>
-<p class="reference">Referenced by <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l01070">CLKernelLibrary::default_ndrange()</a>, <a class="el" href="_g_c_scheduler_8cpp_source.xhtml#l00055">GCScheduler::init()</a>, <a class="el" href="_c_l_scheduler_8h_source.xhtml#l00077">CLScheduler::init()</a>, and <a class="el" href="_i_c_l_kernel_8cpp_source.xhtml#l00120">ICLKernel::set_target()</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>  <span class="comment">// Query device name size</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  std::string device_name = device.getInfo<CL_DEVICE_NAME>();</div><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.xhtml#a0dc6fb54ac0bbc7bf512fe0ca7414076">get_target_from_name</a>(device_name);</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a0dc6fb54ac0bbc7bf512fe0ca7414076"><div class="ttname"><a href="namespacearm__compute.xhtml#a0dc6fb54ac0bbc7bf512fe0ca7414076">arm_compute::get_target_from_name</a></div><div class="ttdeci">GPUTarget get_target_from_name(const std::string &device_name)</div><div class="ttdoc">Helper function to get the GPU target from a device name. </div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_g_p_u_target_8cpp_source.xhtml#l00127">GPUTarget.cpp:127</a></div></div>
-</div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l01139">CLKernelLibrary::default_ndrange()</a>, <a class="el" href="_g_c_scheduler_8cpp_source.xhtml#l00055">GCScheduler::init()</a>, <a class="el" href="_c_l_scheduler_8cpp_source.xhtml#l00086">CLScheduler::init()</a>, and <a class="el" href="_i_c_l_kernel_8cpp_source.xhtml#l00120">ICLKernel::set_target()</a>.</p>
+
</div>
</div>
<a id="a0dc6fb54ac0bbc7bf512fe0ca7414076"></a>
@@ -14836,12 +15783,12 @@
<dl class="section return"><dt>Returns</dt><dd>the GPU target </dd></dl>
<p class="definition">Definition at line <a class="el" href="src_2core_2_g_p_u_target_8cpp_source.xhtml#l00127">127</a> of file <a class="el" href="src_2core_2_g_p_u_target_8cpp_source.xhtml">GPUTarget.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="_log_8h_source.xhtml#l00083">ARM_COMPUTE_LOG_INFO_MSG_CORE</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa78cc0fd1cab24af0fad71dc4c256f8e">BIFROST</a>, and <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38">MIDGARD</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00145">dot8_supported()</a>, <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00127">get_target_from_device()</a>, and <a class="el" href="tests_2validation_2_u_n_i_t_2_g_p_u_target_8cpp_source.xhtml#l00040">arm_compute::test::validation::TEST_CASE()</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>  std::regex mali_regex(R<span class="stringliteral">"(Mali-(.*))");</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="stringliteral"> std::smatch name_parts;</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="stringliteral"> </span><span class="keyword">const</span> <span class="keywordtype">bool</span> found_mali = std::regex_search(device_name, name_parts, mali_regex);</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>  <span class="keywordflow">if</span>(!found_mali)</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>  <a class="code" href="_log_8h.xhtml#a14f4c3a00d20ad742642767c9449993e">ARM_COMPUTE_LOG_INFO_MSG_CORE</a>(<span class="stringliteral">"Can't find valid Mali GPU. Target is set to default."</span>);</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keywordflow">return</span> GPUTarget::MIDGARD;</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> </div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> target = name_parts.str(1)[0];</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keyword">const</span> std::string &version = name_parts.str(1);</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  std::regex future_regex(R<span class="stringliteral">"(.*X)");</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="stringliteral"> </span><span class="keyword">const</span> <span class="keywordtype">bool</span> is_future_bifrost = std::regex_search(version, future_regex);</div><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">if</span>(target == <span class="charliteral">'G'</span> || is_future_bifrost)</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  {</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="keywordflow">return</span> get_bifrost_target(version);</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">else</span> <span class="keywordflow">if</span>(target == <span class="charliteral">'T'</span>)</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  {</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="keywordflow">return</span> get_midgard_target(version);</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  }</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keywordflow">else</span></div><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>  <a class="code" href="_log_8h.xhtml#a14f4c3a00d20ad742642767c9449993e">ARM_COMPUTE_LOG_INFO_MSG_CORE</a>(<span class="stringliteral">"Mali GPU unknown. Target is set to the default one. (BIFROST)"</span>);</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keywordflow">return</span> GPUTarget::BIFROST;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  }</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span> }</div><div class="ttc" id="_log_8h_xhtml_a14f4c3a00d20ad742642767c9449993e"><div class="ttname"><a href="_log_8h.xhtml#a14f4c3a00d20ad742642767c9449993e">ARM_COMPUTE_LOG_INFO_MSG_CORE</a></div><div class="ttdeci">#define ARM_COMPUTE_LOG_INFO_MSG_CORE(msg)</div><div class="ttdoc">Log information level message to the core system logger. </div><div class="ttdef"><b>Definition:</b> <a href="_log_8h_source.xhtml#l00083">Log.h:83</a></div></div>
+<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>  std::regex mali_regex(R<span class="stringliteral">"(Mali-(.*))");</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="stringliteral"> std::smatch name_parts;</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="stringliteral"> </span><span class="keyword">const</span> <span class="keywordtype">bool</span> found_mali = std::regex_search(device_name, name_parts, mali_regex);</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>  <span class="keywordflow">if</span>(!found_mali)</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>  <a class="code" href="_log_8h.xhtml#a14f4c3a00d20ad742642767c9449993e">ARM_COMPUTE_LOG_INFO_MSG_CORE</a>(<span class="stringliteral">"Can't find valid Mali GPU. Target is set to default."</span>);</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keywordflow">return</span> GPUTarget::MIDGARD;</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> </div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> target = name_parts.str(1)[0];</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keyword">const</span> std::string &version = name_parts.str(1);</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  std::regex future_regex(R<span class="stringliteral">"(.*X)");</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="stringliteral"> </span><span class="keyword">const</span> <span class="keywordtype">bool</span> is_future_bifrost = std::regex_search(version, future_regex);</div><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">if</span>(target == <span class="charliteral">'G'</span> || is_future_bifrost)</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  {</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="keywordflow">return</span> get_bifrost_target(version);</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">else</span> <span class="keywordflow">if</span>(target == <span class="charliteral">'T'</span>)</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  {</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="keywordflow">return</span> get_midgard_target(version);</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  }</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keywordflow">else</span></div><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>  <a class="code" href="_log_8h.xhtml#a14f4c3a00d20ad742642767c9449993e">ARM_COMPUTE_LOG_INFO_MSG_CORE</a>(<span class="stringliteral">"Mali GPU unknown. Target is set to the default one. (BIFROST)"</span>);</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keywordflow">return</span> GPUTarget::BIFROST;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  }</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span> }</div><div class="ttc" id="_log_8h_xhtml_a14f4c3a00d20ad742642767c9449993e"><div class="ttname"><a href="_log_8h.xhtml#a14f4c3a00d20ad742642767c9449993e">ARM_COMPUTE_LOG_INFO_MSG_CORE</a></div><div class="ttdeci">#define ARM_COMPUTE_LOG_INFO_MSG_CORE(msg)</div><div class="ttdoc">Log information level message to the core system logger.</div><div class="ttdef"><b>Definition:</b> <a href="_log_8h_source.xhtml#l00087">Log.h:87</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_log_8h_source.xhtml#l00087">ARM_COMPUTE_LOG_INFO_MSG_CORE</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa78cc0fd1cab24af0fad71dc4c256f8e">BIFROST</a>, and <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38">MIDGARD</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00145">dot8_supported()</a>, <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00127">get_target_from_device()</a>, and <a class="el" href="tests_2validation_2_u_n_i_t_2_g_p_u_target_8cpp_source.xhtml#l00040">arm_compute::test::validation::TEST_CASE()</a>.</p>
+
</div>
</div>
<a id="a9a9fa44b29bc17746a0b486626a76e0a"></a>
@@ -14863,13 +15810,14 @@
<p>To maximize performance the library attempts to process workloads concurrently using as many threads as big cores are available on the system.</p>
<dl class="section return"><dt>Returns</dt><dd>The minumum number of common cores. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_c_p_u_utils_8cpp_source.xhtml#l00359">359</a> of file <a class="el" href="_c_p_u_utils_8cpp_source.xhtml">CPUUtils.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00265">arm_compute::test::validation::in</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_c_p_u_utils_8cpp_source.xhtml#l00408">408</a> of file <a class="el" href="_c_p_u_utils_8cpp_source.xhtml">CPUUtils.cpp</a>.</p>
+<div class="fragment"><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="keywordtype">unsigned</span> <span class="keywordtype">int</span> num_threads_hint = 1;</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="preprocessor">#ifndef BARE_METAL</span></div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  std::map<std::string, unsigned int> cpu_part_occurrence_map;</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="comment">// CPU part regex</span></div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  regex_t cpu_part_rgx;</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  memset(&cpu_part_rgx, 0, <span class="keyword">sizeof</span>(regex_t));</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  <span class="keywordtype">int</span> ret_status = regcomp(&cpu_part_rgx, R<span class="stringliteral">"(.*CPU part.+/?\:[[:space:]]+([[:alnum:]]+).*)", REG_EXTENDED);</span></div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="stringliteral"> <a class="code" href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(ret_status);</span></div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="stringliteral"> <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(ret_status != 0, </span><span class="stringliteral">"Regex compilation failed."</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">// Read cpuinfo and get occurrence of each core</span></div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  std::ifstream cpuinfo;</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  cpuinfo.open(<span class="stringliteral">"/proc/cpuinfo"</span>, std::ios::in);</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  <span class="keywordflow">if</span>(cpuinfo.is_open())</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>  std::string line;</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  <span class="keywordflow">while</span>(<span class="keywordtype">bool</span>(getline(cpuinfo, line)))</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>  regmatch_t match[2];</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>  ret_status = regexec(&cpu_part_rgx, line.c_str(), 2, match, 0);</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  <span class="keywordflow">if</span>(ret_status == 0)</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>  std::string cpu_part = line.substr(match[1].rm_so, (match[1].rm_eo - match[1].rm_so));</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  <span class="keywordflow">if</span>(cpu_part_occurrence_map.find(cpu_part) != cpu_part_occurrence_map.end())</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>  cpu_part_occurrence_map[cpu_part]++;</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="keywordflow">else</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>  cpu_part_occurrence_map[cpu_part] = 1;</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>  }</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>  }</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  regfree(&cpu_part_rgx);</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="comment">// Get min number of threads</span></div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  <span class="keyword">auto</span> min_common_cores = std::min_element(cpu_part_occurrence_map.begin(), cpu_part_occurrence_map.end(),</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  [](<span class="keyword">const</span> std::pair<std::string, unsigned int> &p1, <span class="keyword">const</span> std::pair<std::string, unsigned int> &p2)</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> p1.second < p2.second;</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> </div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  <span class="comment">// Set thread hint</span></div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  num_threads_hint = cpu_part_occurrence_map.empty() ? std::thread::hardware_concurrency() : min_common_cores->second;</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span> <span class="preprocessor">#endif </span><span class="comment">/* BARE_METAL */</span><span class="preprocessor"></span></div><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> num_threads_hint;</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span> }</div><div class="ttc" id="_error_8h_xhtml_a6dc630a6ae9cc063b3924bcea8dee9d6"><div class="ttname"><a href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(...)</div><div class="ttdoc">To avoid unused variables warnings.</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00160">Error.h:160</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#l00328">Error.h:328</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON_MSG</a>, and <a class="el" href="_error_8h_source.xhtml#l00160">ARM_COMPUTE_UNUSED</a>.</p>
<p class="reference">Referenced by <a class="el" href="_i_scheduler_8cpp_source.xhtml#l00031">IScheduler::IScheduler()</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="keywordtype">unsigned</span> <span class="keywordtype">int</span> num_threads_hint = 1;</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="preprocessor">#ifndef BARE_METAL</span></div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  std::map<std::string, unsigned int> cpu_part_occurrence_map;</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="comment">// CPU part regex</span></div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  std::regex cpu_part_rgx(R<span class="stringliteral">"(.*CPU part.+?(?=:).+?(?=\w+)(\w+).*)");</span></div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="stringliteral"> std::smatch cpu_part_match;</span></div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="stringliteral"></span></div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="stringliteral"> </span><span class="comment">// Read cpuinfo and get occurrence of each core</span></div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  std::ifstream cpuinfo;</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  cpuinfo.open(<span class="stringliteral">"/proc/cpuinfo"</span>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">std::ios::in</a>);</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  <span class="keywordflow">if</span>(cpuinfo.is_open())</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>  std::string line;</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <span class="keywordflow">while</span>(<span class="keywordtype">bool</span>(getline(cpuinfo, line)))</div><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>  <span class="keywordflow">if</span>(std::regex_search(line.cbegin(), line.cend(), cpu_part_match, cpu_part_rgx))</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>  std::string cpu_part = cpu_part_match[1];</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <span class="keywordflow">if</span>(cpu_part_occurrence_map.find(cpu_part) != cpu_part_occurrence_map.end())</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>  cpu_part_occurrence_map[cpu_part]++;</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">else</span></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>  cpu_part_occurrence_map[cpu_part] = 1;</div><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>  }</div><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>  }</div><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>  <span class="comment">// Get min number of threads</span></div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  <span class="keyword">auto</span> min_common_cores = std::min_element(cpu_part_occurrence_map.begin(), cpu_part_occurrence_map.end(),</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  [](<span class="keyword">const</span> std::pair<std::string, unsigned int> &p1, <span class="keyword">const</span> std::pair<std::string, unsigned int> &p2)</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="keywordflow">return</span> p1.second < p2.second;</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  });</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>  <span class="comment">// Set thread hint</span></div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  num_threads_hint = cpu_part_occurrence_map.empty() ? std::thread::hardware_concurrency() : min_common_cores->second;</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="preprocessor">#endif </span><span class="comment">/* BARE_METAL */</span><span class="preprocessor"></span></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="keywordflow">return</span> num_threads_hint;</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad366eaa4cf2d106037d91c30795a5c76"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">arm_compute::test::validation::in</a></div><div class="ttdeci">CLTensor in</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00265">Winograd.cpp:265</a></div></div>
-</div><!-- fragment -->
+
</div>
</div>
<a id="aa9ed41c417478e5b1e346de1899137b1"></a>
@@ -14897,13 +15845,13 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The string specifying the underlying OpenCL type to be used. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00122">122</a> of file <a class="el" href="_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="_c_l_helpers_8cpp_source.xhtml#l00035">get_cl_type_from_data_type()</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_c_l_fill_border_kernel_8cpp_source.xhtml#l00062">CLFillBorderKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate2_tensors_kernel_8cpp_source.xhtml#l00095">CLWidthConcatenate2TensorsKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate_layer_kernel_8cpp_source.xhtml#l00092">CLWidthConcatenateLayerKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate4_tensors_kernel_8cpp_source.xhtml#l00101">CLWidthConcatenate4TensorsKernel::configure()</a>, and <a class="el" href="_c_l_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00101">CLDepthConcatenateLayerKernel::configure()</a>.</p>
-<div class="fragment"><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="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a545eeda2eaa3f5a54345ce8169e21184">get_cl_type_from_data_type</a>(dt);</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a545eeda2eaa3f5a54345ce8169e21184"><div class="ttname"><a href="namespacearm__compute.xhtml#a545eeda2eaa3f5a54345ce8169e21184">arm_compute::get_cl_type_from_data_type</a></div><div class="ttdeci">std::string get_cl_type_from_data_type(const DataType &dt)</div><div class="ttdoc">Translates a tensor data type to the appropriate OpenCL type. </div><div class="ttdef"><b>Definition:</b> <a href="_c_l_helpers_8cpp_source.xhtml#l00035">CLHelpers.cpp:35</a></div></div>
+<p class="definition">Definition at line <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00122">122</a> of file <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</a>.</p>
+<div class="fragment"><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="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a545eeda2eaa3f5a54345ce8169e21184">get_cl_type_from_data_type</a>(dt);</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a545eeda2eaa3f5a54345ce8169e21184"><div class="ttname"><a href="namespacearm__compute.xhtml#a545eeda2eaa3f5a54345ce8169e21184">arm_compute::get_cl_type_from_data_type</a></div><div class="ttdeci">std::string get_cl_type_from_data_type(const DataType &dt)</div><div class="ttdoc">Translates a tensor data type to the appropriate OpenCL type.</div><div class="ttdef"><b>Definition:</b> <a href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00035">CLHelpers.cpp:35</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00035">get_cl_type_from_data_type()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_c_l_fill_border_kernel_8cpp_source.xhtml#l00062">CLFillBorderKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate2_tensors_kernel_8cpp_source.xhtml#l00097">CLWidthConcatenate2TensorsKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate_layer_kernel_8cpp_source.xhtml#l00092">CLWidthConcatenateLayerKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate4_tensors_kernel_8cpp_source.xhtml#l00115">CLWidthConcatenate4TensorsKernel::configure()</a>, <a class="el" href="_c_l_stack_layer_kernel_8cpp_source.xhtml#l00084">CLStackLayerKernel::configure()</a>, and <a class="el" href="_c_l_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00101">CLDepthConcatenateLayerKernel::configure()</a>.</p>
+
</div>
</div>
<a id="a1da498e9b2c2d24883087f62c6bbe75d"></a>
@@ -14950,10 +15898,10 @@
<dl class="section return"><dt>Returns</dt><dd>True if the target is equal with at least one of the targets. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_g_p_u_target_8h_source.xhtml#l00094">94</a> of file <a class="el" href="_g_p_u_target_8h_source.xhtml">GPUTarget.h</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="tests_2validation_2_u_n_i_t_2_g_p_u_target_8cpp_source.xhtml#l00058">arm_compute::test::validation::TEST_CASE()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00095"></a><span class="lineno"> 95</span> {</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keywordflow">return</span> (target_to_check == target) | <a class="code" href="namespacearm__compute.xhtml#aab39ce9a593f7e12a4bf4cb47272b917">gpu_target_is_in</a>(target_to_check, targets...);</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_aab39ce9a593f7e12a4bf4cb47272b917"><div class="ttname"><a href="namespacearm__compute.xhtml#aab39ce9a593f7e12a4bf4cb47272b917">arm_compute::gpu_target_is_in</a></div><div class="ttdeci">bool gpu_target_is_in(GPUTarget target_to_check, GPUTarget target)</div><div class="ttdoc">Variant of gpu_target_is_in for comparing two targets. </div><div class="ttdef"><b>Definition:</b> <a href="_g_p_u_target_8h_source.xhtml#l00100">GPUTarget.h:100</a></div></div>
+<div class="fragment"><div class="line"><a name="l00095"></a><span class="lineno"> 95</span> {</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keywordflow">return</span> (target_to_check == target) | <a class="code" href="namespacearm__compute.xhtml#aab39ce9a593f7e12a4bf4cb47272b917">gpu_target_is_in</a>(target_to_check, targets...);</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_aab39ce9a593f7e12a4bf4cb47272b917"><div class="ttname"><a href="namespacearm__compute.xhtml#aab39ce9a593f7e12a4bf4cb47272b917">arm_compute::gpu_target_is_in</a></div><div class="ttdeci">bool gpu_target_is_in(GPUTarget target_to_check, GPUTarget target)</div><div class="ttdoc">Variant of gpu_target_is_in for comparing two targets.</div><div class="ttdef"><b>Definition:</b> <a href="_g_p_u_target_8h_source.xhtml#l00100">GPUTarget.h:100</a></div></div>
</div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="tests_2validation_2_u_n_i_t_2_g_p_u_target_8cpp_source.xhtml#l00058">arm_compute::test::validation::TEST_CASE()</a>.</p>
+
</div>
</div>
<a id="aab39ce9a593f7e12a4bf4cb47272b917"></a>
@@ -15030,11 +15978,11 @@
<dl class="section return"><dt>Returns</dt><dd>True if the format can be subsampled horizontaly. </dd></dl>
<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00542">542</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="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> (format == Format::YUYV422 || format == Format::UYVY422 || format == Format::NV12 || format == Format::NV21 || format == Format::IYUV || format == Format::UV88) ? true : <span class="keyword">false</span>;</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span> }</div></div><!-- fragment -->
<p class="reference">References <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#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>.</p>
<p class="reference">Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00647">adjust_odd_shape()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00674">calculate_subsampled_shape()</a>.</p>
-<div class="fragment"><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> (format == Format::YUYV422 || format == Format::UYVY422 || format == Format::NV12 || format == Format::NV21 || format == Format::IYUV || format == Format::UV88) ? true : <span class="keyword">false</span>;</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span> }</div></div><!-- fragment -->
+
</div>
</div>
<a id="a95358b677c5c17f5cc1e369e4a27e2c2"></a>
@@ -15071,11 +16019,11 @@
<dl class="section return"><dt>Returns</dt><dd>True if the format can be subsampled verticaly. </dd></dl>
<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00553">553</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="l00554"></a><span class="lineno"> 554</span> {</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>  <span class="keywordflow">return</span> (format == Format::NV12 || format == Format::NV21 || format == Format::IYUV || format == Format::UV88) ? true : <span class="keyword">false</span>;</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span> }</div></div><!-- fragment -->
<p class="reference">References <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>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>.</p>
<p class="reference">Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00647">adjust_odd_shape()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00674">calculate_subsampled_shape()</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="keywordflow">return</span> (format == Format::NV12 || format == Format::NV21 || format == Format::IYUV || format == Format::UV88) ? true : <span class="keyword">false</span>;</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span> }</div></div><!-- fragment -->
+
</div>
</div>
<a id="a69c96727fe92b1ad1b07da3117c73c76"></a>
@@ -15103,9 +16051,9 @@
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00047">47</a> of file <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml">CLMinMaxLocationKernel.cpp</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00124">CLMinMaxKernel::run()</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>  static_assert(<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>) == <span class="keyword">sizeof</span>(int32_t), <span class="stringliteral">"Float must be same size as int32_t"</span>);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keywordtype">float</span> flt_val = 0.f;</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>  val = (val >= 0) ? val : val ^ 0x7FFFFFFF;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  memcpy(&flt_val, &val, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>));</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keywordflow">return</span> flt_val;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> }</div></div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00124">CLMinMaxKernel::run()</a>.</p>
+
</div>
</div>
<a id="a053a24bb37402fa4b4d8d5963976ba17"></a>
@@ -15195,13 +16143,13 @@
<dl class="section return"><dt>Returns</dt><dd>n-dimensional coordinates. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00289">289</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00328">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#l00078">TensorShape::set()</a>, and <a class="el" href="_tensor_shape_8h_source.xhtml#l00171">TensorShape::total_size()</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="reference_2_convert_fully_connected_weights_8cpp_source.xhtml#l00035">arm_compute::test::validation::reference::convert_fully_connected_weights()</a>, <a class="el" href="_window_iterator_8cpp_source.xhtml#l00064">DATA_TEST_CASE()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>, and <a class="el" href="_n_e_g_e_m_m_interleaved_wrapper_8cpp_source.xhtml#l00050">NEGEMMInterleavedWrapper::prepare()</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="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="l00292"></a><span class="lineno"> 292</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>(index < 0 || index >= num_elements, <span class="stringliteral">"Index has to be in [0, num_elements]!"</span>);</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</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="l00295"></a><span class="lineno"> 295</span> </div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  Coordinates coord{ 0 };</div><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>  <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="l00299"></a><span class="lineno"> 299</span>  {</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  num_elements /= <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>[d];</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  coord.set(d, index / num_elements);</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  index %= num_elements;</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> </div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <span class="keywordflow">return</span> coord;</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</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_arithmetic_division_8cpp_source.xhtml#l00096">ArithmeticDivision.cpp:96</a></div></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="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="l00292"></a><span class="lineno"> 292</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>(index < 0 || index >= num_elements, <span class="stringliteral">"Index has to be in [0, num_elements]!"</span>);</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</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="l00295"></a><span class="lineno"> 295</span> </div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  Coordinates coord{ 0 };</div><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>  <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="l00299"></a><span class="lineno"> 299</span>  {</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  num_elements /= <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>[d];</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  coord.set(d, index / num_elements);</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  index %= num_elements;</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> </div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <span class="keywordflow">return</span> coord;</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</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_absolute_difference_8cpp_source.xhtml#l00097">AbsoluteDifference.cpp:97</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#l00328">Error.h:328</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON_MSG</a>, and <a class="el" href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00097">arm_compute::test::validation::shape</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="reference_2_convert_fully_connected_weights_8cpp_source.xhtml#l00035">arm_compute::test::validation::reference::convert_fully_connected_weights()</a>, and <a class="el" href="_n_e_g_e_m_m_interleaved_wrapper_8cpp_source.xhtml#l00191">NEGEMMInterleavedWrapper::prepare()</a>.</p>
+
</div>
</div>
<a id="aa7510e92de273e0457ce12218f712ad4"></a>
@@ -15229,13 +16177,13 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Intersection of all regions. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00469">469</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
-
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00281">ValidRegion::anchor</a>, <a class="el" href="_utility_8h_source.xhtml#l00113">arm_compute::utility::foldl()</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#l00078">TensorShape::set()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00282">ValidRegion::shape</a>.</p>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00503">503</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="l00504"></a><span class="lineno"> 504</span> {</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</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="l00506"></a><span class="lineno"> 506</span>  {</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  ValidRegion region;</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="keywordflow">for</span>(<span class="keywordtype">size_t</span> d = 0; d < std::min(r1.anchor.num_dimensions(), r2.anchor.num_dimensions()); ++d)</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>  region.anchor.set(d, std::max(r1.anchor[d], r2.anchor[d]));</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">for</span>(<span class="keywordtype">size_t</span> d = 0; d < std::min(r1.shape.num_dimensions(), r2.shape.num_dimensions()); ++d)</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  {</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  region.shape.set(d, std::min(r1.shape[d], r2.shape[d]));</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> </div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  <span class="keywordflow">return</span> region;</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> </div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1utility.xhtml#a043270c1f50c73bf9f91fcc4570ccf0c">utility::foldl</a>(intersect, regions...);</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span> }</div><div class="ttc" id="namespacearm__compute_1_1utility_xhtml_a043270c1f50c73bf9f91fcc4570ccf0c"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#a043270c1f50c73bf9f91fcc4570ccf0c">arm_compute::utility::foldl</a></div><div class="ttdeci">T && foldl(F &&, T &&value)</div><div class="ttdoc">Base case of foldl.</div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00115">Utility.h:115</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00300">ValidRegion::anchor</a>, <a class="el" href="_utility_8h_source.xhtml#l00115">arm_compute::utility::foldl()</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#l00078">TensorShape::set()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00301">ValidRegion::shape</a>.</p>
<p class="reference">Referenced by <a class="el" href="_c_l_bitwise_and_kernel_8cpp_source.xhtml#l00040">CLBitwiseAndKernel::configure()</a>, <a class="el" href="_c_l_bitwise_xor_kernel_8cpp_source.xhtml#l00041">CLBitwiseXorKernel::configure()</a>, <a class="el" href="_c_l_bitwise_or_kernel_8cpp_source.xhtml#l00041">CLBitwiseOrKernel::configure()</a>, <a class="el" href="_g_c_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00047">GCPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_c_l_absolute_difference_kernel_8cpp_source.xhtml#l00047">CLAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_g_c_absolute_difference_kernel_8cpp_source.xhtml#l00047">GCAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_n_e_bitwise_xor_kernel_8cpp_source.xhtml#l00057">NEBitwiseXorKernel::configure()</a>, <a class="el" href="_c_l_magnitude_phase_kernel_8cpp_source.xhtml#l00046">CLMagnitudePhaseKernel::configure()</a>, <a class="el" href="_n_e_bitwise_and_kernel_8cpp_source.xhtml#l00061">NEBitwiseAndKernel::configure()</a>, <a class="el" href="_n_e_bitwise_or_kernel_8cpp_source.xhtml#l00057">NEBitwiseOrKernel::configure()</a>, <a class="el" href="_c_l_channel_combine_kernel_8cpp_source.xhtml#l00049">CLChannelCombineKernel::configure()</a>, <a class="el" href="_n_e_absolute_difference_kernel_8cpp_source.xhtml#l00133">NEAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_n_e_magnitude_phase_kernel_8cpp_source.xhtml#l00250">NEMagnitudePhaseKernel< mag_type, phase_type >::configure()</a>, <a class="el" href="_n_e_channel_combine_kernel_8cpp_source.xhtml#l00052">NEChannelCombineKernel::configure()</a>, <a class="el" href="_c_l_harris_corners_kernel_8cpp_source.xhtml#l00054">CLHarrisScoreKernel::configure()</a>, <a class="el" href="_c_l_color_convert_kernel_8cpp_source.xhtml#l00130">CLColorConvertKernel::configure()</a>, <a class="el" href="_n_e_color_convert_kernel_8cpp_source.xhtml#l00145">NEColorConvertKernel::configure()</a>, <a class="el" href="_n_e_harris_corners_kernel_8cpp_source.xhtml#l00736">NEHarrisScoreKernel< block_size >::configure()</a>, and <a class="el" href="_c_l_l_k_tracker_kernel_8cpp_source.xhtml#l00123">CLLKTrackerStage0Kernel::configure()</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="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="l00472"></a><span class="lineno"> 472</span>  {</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  ValidRegion region;</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">for</span>(<span class="keywordtype">size_t</span> d = 0; d < std::min(r1.anchor.num_dimensions(), r2.anchor.num_dimensions()); ++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>  region.anchor.set(d, std::max(r1.anchor[d], r2.anchor[d]));</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> </div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> d = 0; d < std::min(r1.shape.num_dimensions(), r2.shape.num_dimensions()); ++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>  region.shape.set(d, std::min(r1.shape[d], r2.shape[d]));</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  }</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">return</span> region;</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> </div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1utility.xhtml#a043270c1f50c73bf9f91fcc4570ccf0c">utility::foldl</a>(intersect, regions...);</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span> }</div><div class="ttc" id="namespacearm__compute_1_1utility_xhtml_a043270c1f50c73bf9f91fcc4570ccf0c"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#a043270c1f50c73bf9f91fcc4570ccf0c">arm_compute::utility::foldl</a></div><div class="ttdeci">T && foldl(F &&, T &&value)</div><div class="ttdoc">Base case of foldl. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00113">Utility.h:113</a></div></div>
-</div><!-- fragment -->
+
</div>
</div>
<a id="af5982a092e9eb743fce2d6392bdd8897"></a>
@@ -15271,12 +16219,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if data type is of floating point type, else false. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00959">959</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
-
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00977">977</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="l00978"></a><span class="lineno"> 978</span> {</div><div class="line"><a name="l00979"></a><span class="lineno"> 979</span>  <span class="keywordflow">switch</span>(dt)</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="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00982"></a><span class="lineno"> 982</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00983"></a><span class="lineno"> 983</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00985"></a><span class="lineno"> 985</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</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><!-- fragment -->
<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>.</p>
-<p class="reference">Referenced by <a class="el" href="_c_l_depth_convert_layer_kernel_8cpp_source.xhtml#l00095">CLDepthConvertLayerKernel::configure()</a>, <a class="el" href="_c_l_fill_border_kernel_8cpp_source.xhtml#l00062">CLFillBorderKernel::configure()</a>, <a class="el" href="_c_l_mean_std_dev_8cpp_source.xhtml#l00067">CLMeanStdDev::configure()</a>, <a class="el" href="_c_l_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00120">CLPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_c_l_arithmetic_addition_kernel_8cpp_source.xhtml#l00120">CLArithmeticAdditionKernel::configure()</a>, <a class="el" href="_c_l_arithmetic_subtraction_kernel_8cpp_source.xhtml#l00128">CLArithmeticSubtractionKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00221">CLGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00219">CLLogits1DMaxShiftExpSumKernel::configure()</a>, <a class="el" href="_n_e_depthwise_convolution_layer3x3_kernel_8cpp_source.xhtml#l00317">NEDepthwiseConvolutionLayer3x3Kernel::is_optimized_execution_possible()</a>, <a class="el" href="_i_tensor_8cpp_source.xhtml#l00074">ITensor::print()</a>, and <a class="el" href="_c_l_mean_std_dev_8cpp_source.xhtml#l00049">CLMeanStdDev::validate()</a>.</p>
-<div class="fragment"><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>  <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00962"></a><span class="lineno"> 962</span>  {</div><div class="line"><a name="l00963"></a><span class="lineno"> 963</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00965"></a><span class="lineno"> 965</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00966"></a><span class="lineno"> 966</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00967"></a><span class="lineno"> 967</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00968"></a><span class="lineno"> 968</span>  }</div><div class="line"><a name="l00969"></a><span class="lineno"> 969</span> }</div></div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="_c_l_depth_convert_layer_kernel_8cpp_source.xhtml#l00073">CLDepthConvertLayerKernel::configure()</a>, <a class="el" href="_c_l_mean_std_dev_8cpp_source.xhtml#l00067">CLMeanStdDev::configure()</a>, <a class="el" href="_c_l_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00120">CLPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00263">CLGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00219">CLLogits1DMaxShiftExpSumKernel::configure()</a>, <a class="el" href="_n_e_depthwise_convolution_layer3x3_kernel_8cpp_source.xhtml#l00319">NEDepthwiseConvolutionLayer3x3Kernel::is_optimized_execution_possible()</a>, and <a class="el" href="_c_l_mean_std_dev_8cpp_source.xhtml#l00049">CLMeanStdDev::validate()</a>.</p>
+
</div>
</div>
<a id="a0bee325b210f81bb89fe1f9e15badf9c"></a>
@@ -15313,12 +16261,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if data type is of quantized type, else false. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00979">979</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
-
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00997">997</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="l00998"></a><span class="lineno"> 998</span> {</div><div class="line"><a name="l00999"></a><span class="lineno"> 999</span>  <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>  {</div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>  }</div><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> }</div></div><!-- fragment -->
<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>.</p>
-<p class="reference">Referenced by <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00103">CLActivationLayerKernel::configure()</a>, <a class="el" href="_c_l_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00097">CLNormalizePlanarYUVLayerKernel::configure()</a>, <a class="el" href="_c_l_reduction_operation_kernel_8cpp_source.xhtml#l00125">CLReductionOperationKernel::configure()</a>, <a class="el" href="_c_l_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00120">CLPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_c_l_reduction_operation_8cpp_source.xhtml#l00121">CLReductionOperation::configure()</a>, <a class="el" href="_n_e_depthwise_convolution_layer3x3_kernel_8cpp_source.xhtml#l00317">NEDepthwiseConvolutionLayer3x3Kernel::is_optimized_execution_possible()</a>, <a class="el" href="_c_l_reduction_operation_kernel_8cpp_source.xhtml#l00222">CLReductionOperationKernel::run()</a>, and <a class="el" href="_c_l_reduction_operation_8cpp_source.xhtml#l00063">CLReductionOperation::validate()</a>.</p>
-<div class="fragment"><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="keywordflow">switch</span>(dt)</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>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00985"></a><span class="lineno"> 985</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00986"></a><span class="lineno"> 986</span>  <span class="keywordflow">return</span> <span class="keyword">false</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><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00103">CLActivationLayerKernel::configure()</a>, <a class="el" href="_c_l_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00098">CLNormalizePlanarYUVLayerKernel::configure()</a>, <a class="el" href="_c_l_reduction_operation_kernel_8cpp_source.xhtml#l00139">CLReductionOperationKernel::configure()</a>, <a class="el" href="_c_l_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00120">CLPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_c_l_reduction_operation_8cpp_source.xhtml#l00129">CLReductionOperation::configure()</a>, <a class="el" href="reference_2_depth_convert_layer_8cpp_source.xhtml#l00042">arm_compute::test::validation::reference::depth_convert()</a>, <a class="el" href="_n_e_depthwise_convolution_layer3x3_kernel_8cpp_source.xhtml#l00319">NEDepthwiseConvolutionLayer3x3Kernel::is_optimized_execution_possible()</a>, <a class="el" href="_c_l_reduction_operation_kernel_8cpp_source.xhtml#l00247">CLReductionOperationKernel::run()</a>, and <a class="el" href="_c_l_reduction_operation_8cpp_source.xhtml#l00063">CLReductionOperation::validate()</a>.</p>
+
</div>
</div>
<a id="a14f46283f316e7f0fad301d5c1507e9f"></a>
@@ -15354,12 +16302,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if data type is of symmetric quantized type, else false. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00996">996</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
-
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01014">1014</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="l01015"></a><span class="lineno"> 1015</span> {</div><div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>  <span class="keywordflow">switch</span>(dt)</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>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>  <span class="keywordflow">return</span> <span class="keyword">false</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> }</div></div><!-- fragment -->
<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>.</p>
-<p class="reference">Referenced by <a class="el" href="_graph_builder_8cpp_source.xhtml#l00190">GraphBuilder::add_convolution_node()</a>, <a class="el" href="_graph_builder_8cpp_source.xhtml#l00246">GraphBuilder::add_deconvolution_node()</a>, <a class="el" href="_graph_builder_8cpp_source.xhtml#l00313">GraphBuilder::add_depthwise_convolution_node()</a>, <a class="el" href="_graph_builder_8cpp_source.xhtml#l00391">GraphBuilder::add_fully_connected_layer()</a>, <a class="el" href="_c_l_depthwise_im2_col_kernel_8cpp_source.xhtml#l00041">CLDepthwiseIm2ColKernel::CLDepthwiseIm2ColKernel()</a>, <a class="el" href="_c_l_scale_kernel_8cpp_source.xhtml#l00161">CLScaleKernel::configure()</a>, <a class="el" href="_c_l_pooling_layer_8cpp_source.xhtml#l00033">CLPoolingLayer::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_c_h_w_kernel_8cpp_source.xhtml#l00209">CLDepthwiseConvolutionLayer3x3NCHWKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00141">CLDepthwiseConvolutionLayer3x3NHWCKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_vector_multiply_kernel_8cpp_source.xhtml#l00083">CLGEMMMatrixVectorMultiplyKernel::configure()</a>, <a class="el" href="_n_e_pooling_layer_8cpp_source.xhtml#l00038">NEPoolingLayer::configure()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00103">CLActivationLayerKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_layer_8cpp_source.xhtml#l00040">CLDirectConvolutionLayer::configure()</a>, <a class="el" href="_c_l_pooling_layer_kernel_8cpp_source.xhtml#l00184">CLPoolingLayerKernel::configure()</a>, <a class="el" href="_c_l_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00120">CLPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_g_c_convolution_layer_8cpp_source.xhtml#l00044">GCConvolutionLayerReshapeWeights::configure()</a>, <a class="el" href="_c_l_arithmetic_addition_kernel_8cpp_source.xhtml#l00120">CLArithmeticAdditionKernel::configure()</a>, <a class="el" href="_c_l_depthwise_im2_col_kernel_8cpp_source.xhtml#l00064">CLDepthwiseIm2ColKernel::configure()</a>, <a class="el" href="_c_l_arithmetic_subtraction_kernel_8cpp_source.xhtml#l00128">CLArithmeticSubtractionKernel::configure()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00046">NEConvolutionLayerReshapeWeights::configure()</a>, <a class="el" href="_c_l_softmax_layer_8cpp_source.xhtml#l00073">CLSoftmaxLayer::configure()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00046">CLConvolutionLayerReshapeWeights::configure()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00045">NEDepthwiseConvolutionLayer3x3::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_8cpp_source.xhtml#l00044">CLDepthwiseConvolutionLayer3x3::configure()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00350">CLDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_n_e_fully_connected_layer_8cpp_source.xhtml#l00139">NEFullyConnectedLayer::configure()</a>, <a class="el" href="_c_l_fully_connected_layer_8cpp_source.xhtml#l00137">CLFullyConnectedLayer::configure()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00173">NEGEMMConvolutionLayer::configure()</a>, <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00219">CLLogits1DMaxShiftExpSumKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_8cpp_source.xhtml#l00098">CLDepthwiseConvolutionLayer::configure()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00164">CLGEMMConvolutionLayer::configure()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00268">NEDepthwiseConvolutionLayer::configure()</a>, <a class="el" href="_function_helpers_8h_source.xhtml#l00296">arm_compute::graph::backends::detail::create_convolution_layer()</a>, <a class="el" href="_g_c_functions_factory_8cpp_source.xhtml#l00109">arm_compute::graph::backends::detail::create_convolution_layer< GCConvolutionLayerFunctions, GCTargetInfo >()</a>, <a class="el" href="_n_e_function_factory_8cpp_source.xhtml#l00082">arm_compute::graph::backends::detail::create_convolution_layer< NEConvolutionLayerFunctions, NETargetInfo >()</a>, <a class="el" href="_function_helpers_8h_source.xhtml#l00431">arm_compute::graph::backends::detail::create_depthwise_convolution_layer()</a>, <a class="el" href="_g_c_functions_factory_8cpp_source.xhtml#l00162">arm_compute::graph::backends::detail::create_depthwise_convolution_layer< GCDepthwiseConvolutionLayerFunctions, GCTargetInfo >()</a>, <a class="el" href="_function_helpers_8h_source.xhtml#l00602">arm_compute::graph::backends::detail::create_fully_connected_layer()</a>, <a class="el" href="tests_2validation_2_c_l_2_fully_connected_layer_8cpp_source.xhtml#l00068">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_validate_8h_source.xhtml#l00562">error_on_mismatching_quantization_info()</a>, <a class="el" href="reference_2_im2_col_8cpp_source.xhtml#l00039">arm_compute::test::validation::reference::im2col_nchw()</a>, <a class="el" href="reference_2_im2_col_8cpp_source.xhtml#l00093">arm_compute::test::validation::reference::im2col_nhwc()</a>, <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00486">NELogits1DMaxKernel::run()</a>, <a class="el" href="_c_l_deconvolution_layer_upsample_8cpp_source.xhtml#l00057">CLDeconvolutionLayerUpsample::run()</a>, <a class="el" href="_c_l_space_to_batch_layer_8cpp_source.xhtml#l00077">CLSpaceToBatchLayer::run()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00278">set_quantization_info_if_empty()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00062">NEConvolutionLayerReshapeWeights::validate()</a>, <a class="el" href="_c_l_softmax_layer_8cpp_source.xhtml#l00148">CLSoftmaxLayer::validate()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00063">CLConvolutionLayerReshapeWeights::validate()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00174">NEDepthwiseConvolutionLayer3x3::validate()</a>, <a class="el" href="_c_l_deconvolution_layer_8cpp_source.xhtml#l00051">CLDeconvolutionLayer::validate()</a>, <a class="el" href="_n_e_fully_connected_layer_8cpp_source.xhtml#l00240">NEFullyConnectedLayer::validate()</a>, <a class="el" href="_c_l_fully_connected_layer_8cpp_source.xhtml#l00241">CLFullyConnectedLayer::validate()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00377">NEGEMMConvolutionLayer::validate()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_8cpp_source.xhtml#l00202">CLDepthwiseConvolutionLayer::validate()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00346">CLGEMMConvolutionLayer::validate()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00401">NEDepthwiseConvolutionLayer::validate()</a>, and <a class="el" href="_validate_helpers_8h_source.xhtml#l00114">arm_compute::graph::backends::detail::validate_convolution_layer()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00997"></a><span class="lineno"> 997</span> {</div><div class="line"><a name="l00998"></a><span class="lineno"> 998</span>  <span class="keywordflow">switch</span>(dt)</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">case</span> DataType::QASYMM8:</div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><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> }</div></div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="_graph_builder_8cpp_source.xhtml#l00190">GraphBuilder::add_convolution_node()</a>, <a class="el" href="_graph_builder_8cpp_source.xhtml#l00246">GraphBuilder::add_deconvolution_node()</a>, <a class="el" href="_graph_builder_8cpp_source.xhtml#l00313">GraphBuilder::add_depthwise_convolution_node()</a>, <a class="el" href="_graph_builder_8cpp_source.xhtml#l00407">GraphBuilder::add_fully_connected_layer()</a>, <a class="el" href="_c_l_scale_kernel_8cpp_source.xhtml#l00161">CLScaleKernel::configure()</a>, <a class="el" href="_c_l_pooling_layer_8cpp_source.xhtml#l00033">CLPoolingLayer::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_c_h_w_kernel_8cpp_source.xhtml#l00209">CLDepthwiseConvolutionLayer3x3NCHWKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00168">CLDepthwiseConvolutionLayer3x3NHWCKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_vector_multiply_kernel_8cpp_source.xhtml#l00083">CLGEMMMatrixVectorMultiplyKernel::configure()</a>, <a class="el" href="_n_e_pooling_layer_8cpp_source.xhtml#l00038">NEPoolingLayer::configure()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00103">CLActivationLayerKernel::configure()</a>, <a class="el" href="_c_l_comparison_kernel_8cpp_source.xhtml#l00113">CLComparisonKernel::configure()</a>, <a class="el" href="_c_l_pooling_layer_kernel_8cpp_source.xhtml#l00185">CLPoolingLayerKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_layer_8cpp_source.xhtml#l00040">CLDirectConvolutionLayer::configure()</a>, <a class="el" href="_c_l_width_concatenate2_tensors_kernel_8cpp_source.xhtml#l00097">CLWidthConcatenate2TensorsKernel::configure()</a>, <a class="el" href="_c_l_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00120">CLPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate_layer_kernel_8cpp_source.xhtml#l00092">CLWidthConcatenateLayerKernel::configure()</a>, <a class="el" href="_g_c_convolution_layer_8cpp_source.xhtml#l00044">GCConvolutionLayerReshapeWeights::configure()</a>, <a class="el" href="_c_l_range_kernel_8cpp_source.xhtml#l00093">CLRangeKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate4_tensors_kernel_8cpp_source.xhtml#l00115">CLWidthConcatenate4TensorsKernel::configure()</a>, <a class="el" href="_c_l_depthwise_im2_col_kernel_8cpp_source.xhtml#l00065">CLDepthwiseIm2ColKernel::configure()</a>, <a class="el" href="_c_l_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00101">CLDepthConcatenateLayerKernel::configure()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00046">NEConvolutionLayerReshapeWeights::configure()</a>, <a class="el" href="_c_l_softmax_layer_8cpp_source.xhtml#l00073">CLSoftmaxLayer::configure()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00046">CLConvolutionLayerReshapeWeights::configure()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00045">NEDepthwiseConvolutionLayer3x3::configure()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00350">CLDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_n_e_softmax_layer_8cpp_source.xhtml#l00071">NESoftmaxLayer::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_8cpp_source.xhtml#l00047">CLDepthwiseConvolutionLayer3x3::configure()</a>, <a class="el" href="_n_e_fully_connected_layer_8cpp_source.xhtml#l00139">NEFullyConnectedLayer::configure()</a>, <a class="el" href="_c_l_fully_connected_layer_8cpp_source.xhtml#l00137">CLFullyConnectedLayer::configure()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00173">NEGEMMConvolutionLayer::configure()</a>, <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00219">CLLogits1DMaxShiftExpSumKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00169">CLGEMMConvolutionLayer::configure()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00268">NEDepthwiseConvolutionLayer::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_8cpp_source.xhtml#l00231">CLDepthwiseConvolutionLayer::configure()</a>, <a class="el" href="_function_helpers_8h_source.xhtml#l00296">arm_compute::graph::backends::detail::create_convolution_layer()</a>, <a class="el" href="_g_c_functions_factory_8cpp_source.xhtml#l00109">arm_compute::graph::backends::detail::create_convolution_layer< GCConvolutionLayerFunctions, GCTargetInfo >()</a>, <a class="el" href="_n_e_function_factory_8cpp_source.xhtml#l00083">arm_compute::graph::backends::detail::create_convolution_layer< NEConvolutionLayerFunctions, NETargetInfo >()</a>, <a class="el" href="_function_helpers_8h_source.xhtml#l00431">arm_compute::graph::backends::detail::create_depthwise_convolution_layer()</a>, <a class="el" href="_g_c_functions_factory_8cpp_source.xhtml#l00162">arm_compute::graph::backends::detail::create_depthwise_convolution_layer< GCDepthwiseConvolutionLayerFunctions, GCTargetInfo >()</a>, <a class="el" href="_function_helpers_8h_source.xhtml#l00648">arm_compute::graph::backends::detail::create_fully_connected_layer()</a>, <a class="el" href="tests_2validation_2_c_l_2_fully_connected_layer_8cpp_source.xhtml#l00068">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_validate_8h_source.xhtml#l00562">error_on_mismatching_quantization_info()</a>, <a class="el" href="reference_2_im2_col_8cpp_source.xhtml#l00039">arm_compute::test::validation::reference::im2col_nchw()</a>, <a class="el" href="reference_2_im2_col_8cpp_source.xhtml#l00093">arm_compute::test::validation::reference::im2col_nhwc()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00301">CLDepthwiseConvolutionLayer3x3NHWCKernel::run()</a>, <a class="el" href="_c_l_deconvolution_layer_upsample_8cpp_source.xhtml#l00057">CLDeconvolutionLayerUpsample::run()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00278">set_quantization_info_if_empty()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00062">NEConvolutionLayerReshapeWeights::validate()</a>, <a class="el" href="_c_l_softmax_layer_8cpp_source.xhtml#l00148">CLSoftmaxLayer::validate()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00063">CLConvolutionLayerReshapeWeights::validate()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00174">NEDepthwiseConvolutionLayer3x3::validate()</a>, <a class="el" href="_c_l_deconvolution_layer_8cpp_source.xhtml#l00051">CLDeconvolutionLayer::validate()</a>, <a class="el" href="_n_e_fully_connected_layer_8cpp_source.xhtml#l00240">NEFullyConnectedLayer::validate()</a>, <a class="el" href="_c_l_fully_connected_layer_8cpp_source.xhtml#l00241">CLFullyConnectedLayer::validate()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00377">NEGEMMConvolutionLayer::validate()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00353">CLGEMMConvolutionLayer::validate()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00401">NEDepthwiseConvolutionLayer::validate()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_8cpp_source.xhtml#l00347">CLDepthwiseConvolutionLayer::validate()</a>, and <a class="el" href="_validate_helpers_8h_source.xhtml#l00114">arm_compute::graph::backends::detail::validate_convolution_layer()</a>.</p>
+
</div>
</div>
<a id="a0a7bb17a0a0414a7162f635776a02eb5"></a>
@@ -15387,121 +16335,13 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The lowered string </dd></dl>
-<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00317">317</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="_utility_8h_source.xhtml#l00202">arm_compute::utility::tolower()</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_c_l_scale_kernel_8cpp_source.xhtml#l00161">CLScaleKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_c_h_w_kernel_8cpp_source.xhtml#l00209">CLDepthwiseConvolutionLayer3x3NCHWKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00141">CLDepthwiseConvolutionLayer3x3NHWCKernel::configure()</a>, <a class="el" href="_c_l_flatten_layer_kernel_8cpp_source.xhtml#l00085">CLFlattenLayerKernel::configure()</a>, <a class="el" href="_c_l_normalization_layer_kernel_8cpp_source.xhtml#l00108">CLNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_channel_shuffle_layer_kernel_8cpp_source.xhtml#l00094">CLChannelShuffleLayerKernel::configure()</a>, <a class="el" href="_c_l_batch_to_space_layer_kernel_8cpp_source.xhtml#l00084">CLBatchToSpaceLayerKernel::configure()</a>, <a class="el" href="_c_l_locally_connected_matrix_multiply_kernel_8cpp_source.xhtml#l00084">CLLocallyConnectedMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_reorg_layer_kernel_8cpp_source.xhtml#l00076">CLReorgLayerKernel::configure()</a>, <a class="el" href="_c_l_space_to_batch_layer_kernel_8cpp_source.xhtml#l00083">CLSpaceToBatchLayerKernel::configure()</a>, <a class="el" href="_c_l_upsample_layer_kernel_8cpp_source.xhtml#l00062">CLUpsampleLayerKernel::configure()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00103">CLActivationLayerKernel::configure()</a>, <a class="el" href="_g_c_fill_border_kernel_8cpp_source.xhtml#l00060">GCFillBorderKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_addition_kernel_8cpp_source.xhtml#l00043">GCGEMMMatrixAdditionKernel::configure()</a>, <a class="el" href="_c_l_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00097">CLNormalizePlanarYUVLayerKernel::configure()</a>, <a class="el" href="_c_l_pooling_layer_kernel_8cpp_source.xhtml#l00184">CLPoolingLayerKernel::configure()</a>, <a class="el" href="_c_l_fill_border_kernel_8cpp_source.xhtml#l00062">CLFillBorderKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate2_tensors_kernel_8cpp_source.xhtml#l00095">CLWidthConcatenate2TensorsKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_addition_kernel_8cpp_source.xhtml#l00079">CLGEMMMatrixAdditionKernel::configure()</a>, <a class="el" href="_c_l_arithmetic_addition_kernel_8cpp_source.xhtml#l00120">CLArithmeticAdditionKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate4_tensors_kernel_8cpp_source.xhtml#l00101">CLWidthConcatenate4TensorsKernel::configure()</a>, <a class="el" href="_g_c_direct_convolution_layer_kernel_8cpp_source.xhtml#l00053">GCDirectConvolutionLayerKernel< kernel_size >::configure()</a>, <a class="el" href="_c_l_y_o_l_o_layer_kernel_8cpp_source.xhtml#l00103">CLYOLOLayerKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_kernel_8cpp_source.xhtml#l00220">CLGEMMLowpMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_winograd_input_transform_kernel_8cpp_source.xhtml#l00111">CLWinogradInputTransformKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00221">CLGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_winograd_filter_transform_kernel_8cpp_source.xhtml#l00102">CLWinogradFilterTransformKernel::configure()</a>, <a class="el" href="_c_l_batch_normalization_layer_kernel_8cpp_source.xhtml#l00138">CLBatchNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_winograd_output_transform_kernel_8cpp_source.xhtml#l00136">CLWinogradOutputTransformKernel::configure()</a>, <a class="el" href="_c_l_strided_slice_kernel_8cpp_source.xhtml#l00104">CLStridedSliceKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00350">CLDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_interleave4x4_kernel_8cpp_source.xhtml#l00118">CLGEMMInterleave4x4Kernel::configure()</a>, <a class="el" href="_c_l_col2_im_kernel_8cpp_source.xhtml#l00090">CLCol2ImKernel::configure()</a>, <a class="el" href="_c_l_im2_col_kernel_8cpp_source.xhtml#l00288">CLIm2ColKernel::configure()</a>, and <a class="el" href="_graph_utils_8h_source.xhtml#l00408">arm_compute::graph_utils::get_input_accessor()</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>  std::string res = val;</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  std::transform(res.begin(), res.end(), res.begin(), <a class="code" href="namespacearm__compute_1_1utility.xhtml#abb96ad5c7071ec3a47ea5f07e817a636">::tolower</a>);</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  <span class="keywordflow">return</span> res;</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span> }</div><div class="ttc" id="namespacearm__compute_1_1utility_xhtml_abb96ad5c7071ec3a47ea5f07e817a636"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#abb96ad5c7071ec3a47ea5f07e817a636">arm_compute::utility::tolower</a></div><div class="ttdeci">std::string tolower(std::string string)</div><div class="ttdoc">Convert string to lower case. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00202">Utility.h:202</a></div></div>
+<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00322">322</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</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>  std::string res = val;</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  std::transform(res.begin(), res.end(), res.begin(), <a class="code" href="namespacearm__compute_1_1utility.xhtml#abb96ad5c7071ec3a47ea5f07e817a636">::tolower</a>);</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <span class="keywordflow">return</span> res;</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span> }</div><div class="ttc" id="namespacearm__compute_1_1utility_xhtml_abb96ad5c7071ec3a47ea5f07e817a636"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#abb96ad5c7071ec3a47ea5f07e817a636">arm_compute::utility::tolower</a></div><div class="ttdeci">std::string tolower(std::string string)</div><div class="ttdoc">Convert string to lower case.</div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00188">Utility.h:188</a></div></div>
</div><!-- fragment -->
-</div>
-</div>
-<a id="adfbf24db2a651269a83f7e49e2b86850"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#adfbf24db2a651269a83f7e49e2b86850">◆ </a></span>max_consecutive_elements_display_width()</h2>
+<p class="reference">References <a class="el" href="_utility_8h_source.xhtml#l00188">arm_compute::utility::tolower()</a>.</p>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int max_consecutive_elements_display_width </td>
- <td>(</td>
- <td class="paramtype">std::ostream & </td>
- <td class="paramname"><em>s</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> </td>
- <td class="paramname"><em>dt</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const uint8_t * </td>
- <td class="paramname"><em>ptr</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">unsigned int </td>
- <td class="paramname"><em>n</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
+<p class="reference">Referenced by <a class="el" href="_c_l_scale_kernel_8cpp_source.xhtml#l00161">CLScaleKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_c_h_w_kernel_8cpp_source.xhtml#l00209">CLDepthwiseConvolutionLayer3x3NCHWKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00168">CLDepthwiseConvolutionLayer3x3NHWCKernel::configure()</a>, <a class="el" href="_c_l_flatten_layer_kernel_8cpp_source.xhtml#l00086">CLFlattenLayerKernel::configure()</a>, <a class="el" href="_c_l_channel_shuffle_layer_kernel_8cpp_source.xhtml#l00095">CLChannelShuffleLayerKernel::configure()</a>, <a class="el" href="_c_l_reverse_kernel_8cpp_source.xhtml#l00068">CLReverseKernel::configure()</a>, <a class="el" href="_c_l_batch_to_space_layer_kernel_8cpp_source.xhtml#l00084">CLBatchToSpaceLayerKernel::configure()</a>, <a class="el" href="_c_l_normalization_layer_kernel_8cpp_source.xhtml#l00107">CLNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_locally_connected_matrix_multiply_kernel_8cpp_source.xhtml#l00084">CLLocallyConnectedMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_reorg_layer_kernel_8cpp_source.xhtml#l00076">CLReorgLayerKernel::configure()</a>, <a class="el" href="_c_l_space_to_batch_layer_kernel_8cpp_source.xhtml#l00089">CLSpaceToBatchLayerKernel::configure()</a>, <a class="el" href="_c_l_tile_kernel_8cpp_source.xhtml#l00068">CLTileKernel::configure()</a>, <a class="el" href="_c_l_upsample_layer_kernel_8cpp_source.xhtml#l00066">CLUpsampleLayerKernel::configure()</a>, <a class="el" href="_c_l_comparison_kernel_8cpp_source.xhtml#l00113">CLComparisonKernel::configure()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00103">CLActivationLayerKernel::configure()</a>, <a class="el" href="_g_c_fill_border_kernel_8cpp_source.xhtml#l00060">GCFillBorderKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_addition_kernel_8cpp_source.xhtml#l00043">GCGEMMMatrixAdditionKernel::configure()</a>, <a class="el" href="_c_l_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00098">CLNormalizePlanarYUVLayerKernel::configure()</a>, <a class="el" href="_c_l_fill_border_kernel_8cpp_source.xhtml#l00062">CLFillBorderKernel::configure()</a>, <a class="el" href="_c_l_pooling_layer_kernel_8cpp_source.xhtml#l00185">CLPoolingLayerKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_addition_kernel_8cpp_source.xhtml#l00079">CLGEMMMatrixAdditionKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate2_tensors_kernel_8cpp_source.xhtml#l00097">CLWidthConcatenate2TensorsKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_reshaped_kernel_8cpp_source.xhtml#l00175">CLGEMMMatrixMultiplyReshapedKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate4_tensors_kernel_8cpp_source.xhtml#l00115">CLWidthConcatenate4TensorsKernel::configure()</a>, <a class="el" href="_c_l_range_kernel_8cpp_source.xhtml#l00093">CLRangeKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_reshape_l_h_s_matrix_kernel_8cpp_source.xhtml#l00121">CLGEMMReshapeLHSMatrixKernel::configure()</a>, <a class="el" href="_g_c_direct_convolution_layer_kernel_8cpp_source.xhtml#l00053">GCDirectConvolutionLayerKernel< kernel_size >::configure()</a>, <a class="el" href="_c_l_winograd_input_transform_kernel_8cpp_source.xhtml#l00111">CLWinogradInputTransformKernel::configure()</a>, <a class="el" href="_c_l_y_o_l_o_layer_kernel_8cpp_source.xhtml#l00103">CLYOLOLayerKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_kernel_8cpp_source.xhtml#l00234">CLGEMMLowpMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_winograd_filter_transform_kernel_8cpp_source.xhtml#l00102">CLWinogradFilterTransformKernel::configure()</a>, <a class="el" href="_c_l_batch_normalization_layer_kernel_8cpp_source.xhtml#l00138">CLBatchNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_strided_slice_kernel_8cpp_source.xhtml#l00106">CLStridedSliceKernel::configure()</a>, <a class="el" href="_c_l_winograd_output_transform_kernel_8cpp_source.xhtml#l00146">CLWinogradOutputTransformKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00350">CLDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00263">CLGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_interleave4x4_kernel_8cpp_source.xhtml#l00119">CLGEMMInterleave4x4Kernel::configure()</a>, <a class="el" href="_c_l_col2_im_kernel_8cpp_source.xhtml#l00090">CLCol2ImKernel::configure()</a>, <a class="el" href="_c_l_im2_col_kernel_8cpp_source.xhtml#l00293">CLIm2ColKernel::configure()</a>, and <a class="el" href="_graph_utils_8h_source.xhtml#l00438">arm_compute::graph_utils::get_input_accessor()</a>.</p>
-<p>Identify the maximum width of n consecutive elements. </p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>Output stream to print the elements to. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Data type of the elements </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to print the elements from. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of elements to print.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The maximum width of the elements. </dd></dl>
-
-<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00428">428</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">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#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 class="reference">Referenced by <a class="el" href="_i_tensor_8cpp_source.xhtml#l00074">ITensor::print()</a>.</p>
-<div class="fragment"><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">switch</span>(dt)</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">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  <span class="keywordflow">return</span> max_consecutive_elements_display_width_impl<uint8_t>(s, ptr, n);</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  <span class="keywordflow">return</span> max_consecutive_elements_display_width_impl<int8_t>(s, <span class="keyword">reinterpret_cast<</span><span class="keyword">const </span>int8_t *<span class="keyword">></span>(ptr), n);</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  <span class="keywordflow">return</span> max_consecutive_elements_display_width_impl<uint16_t>(s, <span class="keyword">reinterpret_cast<</span><span class="keyword">const </span>uint16_t *<span class="keyword">></span>(ptr), n);</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  <span class="keywordflow">return</span> max_consecutive_elements_display_width_impl<int16_t>(s, <span class="keyword">reinterpret_cast<</span><span class="keyword">const </span>int16_t *<span class="keyword">></span>(ptr), n);</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  <span class="keywordflow">return</span> max_consecutive_elements_display_width_impl<uint32_t>(s, <span class="keyword">reinterpret_cast<</span><span class="keyword">const </span>uint32_t *<span class="keyword">></span>(ptr), n);</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  <span class="keywordflow">return</span> max_consecutive_elements_display_width_impl<int32_t>(s, <span class="keyword">reinterpret_cast<</span><span class="keyword">const </span>int32_t *<span class="keyword">></span>(ptr), n);</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  <span class="keywordflow">return</span> max_consecutive_elements_display_width_impl<float>(s, <span class="keyword">reinterpret_cast<</span><span class="keyword">const </span><span class="keywordtype">float</span> *<span class="keyword">></span>(ptr), n);</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  <span class="keywordflow">return</span> max_consecutive_elements_display_width_impl<half>(s, <span class="keyword">reinterpret_cast<</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">half</a> *<span class="keyword">></span>(ptr), n);</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</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="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> 0;</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</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#l00261">Error.h:261</a></div></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#l00044">Types.h:44</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="aaecee617b967dd96f27d2f36732fb68e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aaecee617b967dd96f27d2f36732fb68e">◆ </a></span>max_consecutive_elements_display_width_impl()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int arm_compute::max_consecutive_elements_display_width_impl </td>
- <td>(</td>
- <td class="paramtype">std::ostream & </td>
- <td class="paramname"><em>s</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const T * </td>
- <td class="paramname"><em>ptr</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">unsigned int </td>
- <td class="paramname"><em>n</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Identify the maximum width of n consecutive elements. </p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>The output stream which will be used to print the elements. Used to extract the stream format. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to the elements. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of elements.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The maximum width of the elements. </dd></dl>
-
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01069">1069</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="l01070"></a><span class="lineno"> 1070</span> {</div><div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>  <span class="keyword">using</span> print_type = <span class="keyword">typename</span> std::conditional<std::is_floating_point<T>::value, T, <span class="keywordtype">int</span>>::type;</div><div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> </div><div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>  <span class="keywordtype">int</span> max_width = -1;</div><div class="line"><a name="l01074"></a><span class="lineno"> 1074</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="l01075"></a><span class="lineno"> 1075</span>  {</div><div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>  std::stringstream ss;</div><div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>  ss.copyfmt(s);</div><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="keywordflow">if</span>(std::is_same<<span class="keyword">typename</span> std::decay<T>::type, <a class="code" href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">half</a>>::value)</div><div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>  {</div><div class="line"><a name="l01081"></a><span class="lineno"> 1081</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="l01082"></a><span class="lineno"> 1082</span>  ss << static_cast<T>(ptr[i]);</div><div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>  }</div><div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>  {</div><div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>  ss << static_cast<print_type>(ptr[i]);</div><div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>  }</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>  max_width = std::max<int>(max_width, ss.str().size());</div><div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>  }</div><div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>  <span class="keywordflow">return</span> max_width;</div><div class="line"><a name="l01092"></a><span class="lineno"> 1092</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#l00044">Types.h:44</a></div></div>
-</div><!-- fragment -->
</div>
</div>
<a id="ab14153fb809c18823af3c9c8bc4286cb"></a>
@@ -15538,11 +16378,70 @@
<dl class="section return"><dt>Returns</dt><dd>The number of channels for a given image format. </dd></dl>
<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00471">471</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="l00472"></a><span class="lineno"> 472</span> {</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  <span class="keywordflow">switch</span>(format)</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">case</span> Format::U8:</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>  <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  <span class="comment">// Because the U and V channels are subsampled</span></div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  <span class="comment">// these formats appear like having only 2 channels:</span></div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  <span class="comment">//Doesn't make sense for planar formats:</span></div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  <span class="keywordflow">return</span> 0;</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> }</div></div><!-- fragment -->
<p class="reference">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>
<p class="reference">Referenced by <a class="el" href="src_2core_2_tensor_info_8cpp_source.xhtml#l00104">TensorInfo::init()</a>, <a class="el" href="src_2core_2_tensor_info_8cpp_source.xhtml#l00173">TensorInfo::init_auto_padding()</a>, and <a class="el" href="src_2core_2_tensor_info_8cpp_source.xhtml#l00325">TensorInfo::set_format()</a>.</p>
-<div class="fragment"><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">switch</span>(format)</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">case</span> Format::U8:</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>  <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  <span class="comment">// Because the U and V channels are subsampled</span></div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  <span class="comment">// these formats appear like having only 2 channels:</span></div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  <span class="comment">//Doesn't make sense for planar formats:</span></div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  <span class="keywordflow">return</span> 0;</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> }</div></div><!-- fragment -->
+
+</div>
+</div>
+<a id="a22ef3e50f7dbf08c974a120588e1ad90"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a22ef3e50f7dbf08c974a120588e1ad90">◆ </a></span>num_of_elements_in_range()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">size_t arm_compute::num_of_elements_in_range </td>
+ <td>(</td>
+ <td class="paramtype">const float </td>
+ <td class="paramname"><em>start</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const float </td>
+ <td class="paramname"><em>end</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const float </td>
+ <td class="paramname"><em>step</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>Returns the number of elements required to go from start to end with the wanted step. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">start</td><td>start value </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">end</td><td>end value </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">step</td><td>step value between each number in the wanted sequence</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>number of elements to go from start value to end value using the wanted step </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01053">1053</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="l01054"></a><span class="lineno"> 1054</span> {</div><div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>  <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a75b73e17c4ebe901e44af3b2b9846ab3">step</a> == 0, <span class="stringliteral">"Range Step cannot be 0"</span>);</div><div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>  <span class="keywordflow">return</span> size_t(std::ceil((end - start) / <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a75b73e17c4ebe901e44af3b2b9846ab3">step</a>));</div><div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a75b73e17c4ebe901e44af3b2b9846ab3"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a75b73e17c4ebe901e44af3b2b9846ab3">arm_compute::test::validation::step</a></div><div class="ttdeci">const int step</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_select_8cpp_source.xhtml#l00172">Select.cpp:172</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#l00328">Error.h:328</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON_MSG</a>, and <a class="el" href="_c_l_2_select_8cpp_source.xhtml#l00172">arm_compute::test::validation::step</a>.</p>
+
</div>
</div>
<a id="a2a71659def659c8b1c164023a99a25a9"></a>
@@ -15579,12 +16478,12 @@
<dl class="section return"><dt>Returns</dt><dd>The number of planes for a given image format. </dd></dl>
<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00437">437</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="l00438"></a><span class="lineno"> 438</span> {</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  <span class="keywordflow">switch</span>(format)</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>  <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</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="l00461"></a><span class="lineno"> 461</span>  <span class="keywordflow">return</span> 0;</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> }</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#l00261">Error.h:261</a></div></div>
+</div><!-- fragment -->
<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">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>
<p class="reference">Referenced by <a class="el" href="_c_l_channel_combine_kernel_8cpp_source.xhtml#l00238">CLChannelCombineKernel::run()</a>.</p>
-<div class="fragment"><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="keywordflow">switch</span>(format)</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>  <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</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="l00461"></a><span class="lineno"> 461</span>  <span class="keywordflow">return</span> 0;</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> }</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#l00261">Error.h:261</a></div></div>
-</div><!-- fragment -->
+
</div>
</div>
<a id="a5f49decb4b0a74d5361686ab45db8961"></a>
@@ -15606,11 +16505,11 @@
<dl class="section return"><dt>Returns</dt><dd>True if OpenCL is available. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_open_c_l_8cpp_source.xhtml#l00133">133</a> of file <a class="el" href="_open_c_l_8cpp_source.xhtml">OpenCL.cpp</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>  CLSymbols::get().load_default();</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keywordflow">return</span> CLSymbols::get().clBuildProgram_ptr != <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span> }</div></div><!-- fragment -->
<p class="reference">References <a class="el" href="_open_c_l_8h_source.xhtml#l00092">CLSymbols::clBuildProgram_ptr</a>, <a class="el" href="_open_c_l_8cpp_source.xhtml#l00032">CLSymbols::get()</a>, and <a class="el" href="_open_c_l_8cpp_source.xhtml#l00038">CLSymbols::load_default()</a>.</p>
-<p class="reference">Referenced by <a class="el" href="_c_l_scheduler_8cpp_source.xhtml#l00049">CLScheduler::get()</a>, <a class="el" href="_c_l_device_backend_8cpp_source.xhtml#l00136">CLDeviceBackend::is_backend_supported()</a>, <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l00138">Kernel::Kernel()</a>, <a class="el" href="main_8cpp_source.xhtml#l00087">main()</a>, <a class="el" href="_framework_8cpp_source.xhtml#l00528">Framework::run()</a>, and <a class="el" href="tests_2_utils_8h_source.xhtml#l00819">arm_compute::test::sync_if_necessary()</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>  CLSymbols::get().load_default();</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keywordflow">return</span> CLSymbols::get().clBuildProgram_ptr != <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span> }</div></div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="runtime_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00086">create_opencl_context_and_device()</a>, <a class="el" href="_c_l_scheduler_8cpp_source.xhtml#l00041">CLScheduler::get()</a>, <a class="el" href="_c_l_device_backend_8cpp_source.xhtml#l00136">CLDeviceBackend::is_backend_supported()</a>, <a class="el" href="main_8cpp_source.xhtml#l00090">main()</a>, <a class="el" href="_framework_8cpp_source.xhtml#l00528">Framework::run()</a>, and <a class="el" href="tests_2_utils_8h_source.xhtml#l00773">arm_compute::test::sync_if_necessary()</a>.</p>
+
</div>
</div>
<a id="ad8ec10f67d9849be264c23c5329d9324"></a>
@@ -15632,9 +16531,9 @@
<dl class="section return"><dt>Returns</dt><dd>true if the OpenGL ES 3.1 API is available. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_open_g_l_e_s_8cpp_source.xhtml#l00160">160</a> of file <a class="el" href="_open_g_l_e_s_8cpp_source.xhtml">OpenGLES.cpp</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_g_c_scheduler_8cpp_source.xhtml#l00062">GCScheduler::get()</a>, <a class="el" href="_open_g_l_e_s_8h_source.xhtml#l00148">NDRange::get()</a>, <a class="el" href="_g_c_device_backend_8cpp_source.xhtml#l00095">GCDeviceBackend::is_backend_supported()</a>, and <a class="el" href="tests_2_utils_8h_source.xhtml#l00836">arm_compute::test::sync_tensor_if_necessary()</a>.</p>
<div class="fragment"><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> GLESSymbols::get().glDispatchCompute != <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span> }</div></div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="_g_c_scheduler_8cpp_source.xhtml#l00062">GCScheduler::get()</a>, <a class="el" href="_g_c_device_backend_8cpp_source.xhtml#l00095">GCDeviceBackend::is_backend_supported()</a>, and <a class="el" href="tests_2_utils_8h_source.xhtml#l00790">arm_compute::test::sync_tensor_if_necessary()</a>.</p>
+
</div>
</div>
<a id="a4e3ff85e1f6c648dfbe264f54c147451"></a>
@@ -15674,8 +16573,8 @@
<p>Check that given dimensions are not equal. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">lhs</td><td>Left-hand side <a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a>. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">rhs</td><td>Right-hand side <a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a>.</td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">lhs</td><td>Left-hand side <a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality.">Dimensions</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">rhs</td><td>Right-hand side <a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality.">Dimensions</a>.</td></tr>
</table>
</dd>
</dl>
@@ -15686,7 +16585,7 @@
</div>
</div>
<a id="af3985189d478b45014e7dead9d002e2a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af3985189d478b45014e7dead9d002e2a">◆ </a></span>operator<<() <span class="overload">[1/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#af3985189d478b45014e7dead9d002e2a">◆ </a></span>operator<<() <span class="overload">[1/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -15722,14 +16621,14 @@
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
<p class="definition">Definition at line <a class="el" href="tests_2_type_printer_8h_source.xhtml#l00038">38</a> of file <a class="el" href="tests_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">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="l00039"></a><span class="lineno"> 39</span> {</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <span class="keywordflow">switch</span>(dim)</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>  <span class="keywordflow">case</span> GradientDimension::GRAD_X:</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  os << <span class="stringliteral">"GRAD_X"</span>;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keywordflow">case</span> GradientDimension::GRAD_Y:</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  os << <span class="stringliteral">"GRAD_Y"</span>;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="keywordflow">case</span> GradientDimension::GRAD_XY:</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  os << <span class="stringliteral">"GRAD_XY"</span>;</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</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="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 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#l00261">Error.h:261</a></div></div>
+<div class="fragment"><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="keywordflow">switch</span>(dim)</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>  <span class="keywordflow">case</span> GradientDimension::GRAD_X:</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  os << <span class="stringliteral">"GRAD_X"</span>;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keywordflow">case</span> GradientDimension::GRAD_Y:</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  os << <span class="stringliteral">"GRAD_Y"</span>;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="keywordflow">case</span> GradientDimension::GRAD_XY:</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  os << <span class="stringliteral">"GRAD_XY"</span>;</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</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="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 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#l00261">Error.h:261</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, and <a class="el" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7a5515a637eda61b978e97adaa5d7629cc">GRAD_XY</a>.</p>
+
</div>
</div>
<a id="a18d43401e8f84ed020429b41ec4e99f5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a18d43401e8f84ed020429b41ec4e99f5">◆ </a></span>operator<<() <span class="overload">[2/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a18d43401e8f84ed020429b41ec4e99f5">◆ </a></span>operator<<() <span class="overload">[2/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -15754,7 +16653,7 @@
</table>
</div><div class="memdoc">
-<p>Formatted output of the <a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a> type. </p>
+<p>Formatted output of the <a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality.">Dimensions</a> type. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
@@ -15766,10 +16665,12 @@
<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00070">70</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
<div class="fragment"><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>  <span class="keywordflow">if</span>(dimensions.num_dimensions() > 0)</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>  os << dimensions[0];</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">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="l00077"></a><span class="lineno"> 77</span>  {</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  os << <span class="stringliteral">"x"</span> << dimensions[d];</div><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>  }</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> os;</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span> }</div></div><!-- fragment -->
+<p class="reference">References <a class="el" href="_dimensions_8h_source.xhtml#l00122">Dimensions< T >::num_dimensions()</a>.</p>
+
</div>
</div>
<a id="ae8c2a3451bcf739a75aa7438e7a78d45"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae8c2a3451bcf739a75aa7438e7a78d45">◆ </a></span>operator<<() <span class="overload">[3/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#ae8c2a3451bcf739a75aa7438e7a78d45">◆ </a></span>operator<<() <span class="overload">[3/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -15805,14 +16706,16 @@
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00092">92</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">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="l00093"></a><span class="lineno"> 93</span> {</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordflow">switch</span>(<span class="keyword">function</span>)</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  {</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keywordflow">case</span> NonLinearFilterFunction::MAX:</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  os << <span class="stringliteral">"MAX"</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> NonLinearFilterFunction::MEDIAN:</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  os << <span class="stringliteral">"MEDIAN"</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">case</span> NonLinearFilterFunction::MIN:</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  os << <span class="stringliteral">"MIN"</span>;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</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="l00107"></a><span class="lineno"> 107</span>  }</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>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</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#l00261">Error.h:261</a></div></div>
+<div class="fragment"><div class="line"><a name="l00093"></a><span class="lineno"> 93</span> {</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordflow">switch</span>(<span class="keyword">function</span>)</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  {</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keywordflow">case</span> <a class="code" href="elementwise__operation_8cl.xhtml#aacc3ee1a7f283f8ef65cea31f4436a95">NonLinearFilterFunction::MAX</a>:</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  os << <span class="stringliteral">"MAX"</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> NonLinearFilterFunction::MEDIAN:</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  os << <span class="stringliteral">"MEDIAN"</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">case</span> <a class="code" href="elementwise__operation_8cl.xhtml#a74e75242132eaabbc1c512488a135926">NonLinearFilterFunction::MIN</a>:</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  os << <span class="stringliteral">"MIN"</span>;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</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="l00107"></a><span class="lineno"> 107</span>  }</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>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</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#l00261">Error.h:261</a></div></div>
+<div class="ttc" id="elementwise__operation_8cl_xhtml_a74e75242132eaabbc1c512488a135926"><div class="ttname"><a href="elementwise__operation_8cl.xhtml#a74e75242132eaabbc1c512488a135926">MIN</a></div><div class="ttdeci">#define MIN(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="elementwise__operation_8cl_source.xhtml#l00037">elementwise_operation.cl:37</a></div></div>
+<div class="ttc" id="elementwise__operation_8cl_xhtml_aacc3ee1a7f283f8ef65cea31f4436a95"><div class="ttname"><a href="elementwise__operation_8cl.xhtml#aacc3ee1a7f283f8ef65cea31f4436a95">MAX</a></div><div class="ttdeci">#define MAX(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="elementwise__operation_8cl_source.xhtml#l00036">elementwise_operation.cl:36</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">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>
</div>
<a id="acec416ec5af175a7aad47a518fefb770"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#acec416ec5af175a7aad47a518fefb770">◆ </a></span>operator<<() <span class="overload">[4/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#acec416ec5af175a7aad47a518fefb770">◆ </a></span>operator<<() <span class="overload">[4/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -15848,14 +16751,14 @@
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00132">132</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">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="l00133"></a><span class="lineno"> 133</span> {</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <span class="keywordflow">switch</span>(pattern)</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="keywordflow">case</span> MatrixPattern::BOX:</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  os << <span class="stringliteral">"BOX"</span>;</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keywordflow">case</span> MatrixPattern::CROSS:</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  os << <span class="stringliteral">"CROSS"</span>;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordflow">case</span> MatrixPattern::DISK:</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  os << <span class="stringliteral">"DISK"</span>;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keywordflow">case</span> MatrixPattern::OTHER:</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  os << <span class="stringliteral">"OTHER"</span>;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</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="l00150"></a><span class="lineno"> 150</span>  }</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</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#l00261">Error.h:261</a></div></div>
+<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>  <span class="keywordflow">switch</span>(pattern)</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="keywordflow">case</span> MatrixPattern::BOX:</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  os << <span class="stringliteral">"BOX"</span>;</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keywordflow">case</span> MatrixPattern::CROSS:</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  os << <span class="stringliteral">"CROSS"</span>;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordflow">case</span> MatrixPattern::DISK:</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  os << <span class="stringliteral">"DISK"</span>;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keywordflow">case</span> MatrixPattern::OTHER:</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  os << <span class="stringliteral">"OTHER"</span>;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</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="l00150"></a><span class="lineno"> 150</span>  }</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</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#l00261">Error.h:261</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">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>
</div>
<a id="a295edc9f8caf95838db2c5e251153514"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a295edc9f8caf95838db2c5e251153514">◆ </a></span>operator<<() <span class="overload">[5/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a295edc9f8caf95838db2c5e251153514">◆ </a></span>operator<<() <span class="overload">[5/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -15891,15 +16794,15 @@
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00175">175</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">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="l00176"></a><span class="lineno"> 176</span> {</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</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="l00178"></a><span class="lineno"> 178</span>  {</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keywordflow">case</span> RoundingPolicy::TO_ZERO:</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  os << <span class="stringliteral">"TO_ZERO"</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> RoundingPolicy::TO_NEAREST_UP:</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  os << <span class="stringliteral">"TO_NEAREST_UP"</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> RoundingPolicy::TO_NEAREST_EVEN:</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  os << <span class="stringliteral">"TO_NEAREST_EVEN"</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">default</span>:</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</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="l00190"></a><span class="lineno"> 190</span>  }</div><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>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</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#l00261">Error.h:261</a></div></div>
+<div class="fragment"><div class="line"><a name="l00176"></a><span class="lineno"> 176</span> {</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</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="l00178"></a><span class="lineno"> 178</span>  {</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keywordflow">case</span> RoundingPolicy::TO_ZERO:</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  os << <span class="stringliteral">"TO_ZERO"</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> RoundingPolicy::TO_NEAREST_UP:</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  os << <span class="stringliteral">"TO_NEAREST_UP"</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> RoundingPolicy::TO_NEAREST_EVEN:</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  os << <span class="stringliteral">"TO_NEAREST_EVEN"</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">default</span>:</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</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="l00190"></a><span class="lineno"> 190</span>  }</div><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>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</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#l00261">Error.h:261</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#l00168">PixelWiseMultiplication.cpp:168</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00168">arm_compute::test::validation::rounding_policy</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>
</div>
<a id="a5972c7131d378f567af9c2961f088a0b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5972c7131d378f567af9c2961f088a0b">◆ </a></span>operator<<() <span class="overload">[6/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a5972c7131d378f567af9c2961f088a0b">◆ </a></span>operator<<() <span class="overload">[6/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -15924,7 +16827,7 @@
</table>
</div><div class="memdoc">
-<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>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>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
@@ -15935,14 +16838,14 @@
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00202">202</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01442">WeightsInfo::are_reshaped()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01458">WeightsInfo::kernel_size()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01450">WeightsInfo::num_kernels()</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>  os << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7cb842ebfe255726066039853a4322f0">weights_info</a>.are_reshaped() << <span class="stringliteral">";"</span>;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  os << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7cb842ebfe255726066039853a4322f0">weights_info</a>.num_kernels() << <span class="stringliteral">";"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7cb842ebfe255726066039853a4322f0">weights_info</a>.kernel_size().first << <span class="stringliteral">","</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7cb842ebfe255726066039853a4322f0">weights_info</a>.kernel_size().second;</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="keywordflow">return</span> os;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7cb842ebfe255726066039853a4322f0"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7cb842ebfe255726066039853a4322f0">arm_compute::test::validation::weights_info</a></div><div class="ttdeci">weights_info</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00694">Winograd.cpp:694</a></div></div>
+<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>  os << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7cb842ebfe255726066039853a4322f0">weights_info</a>.are_reshaped() << <span class="stringliteral">";"</span>;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  os << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7cb842ebfe255726066039853a4322f0">weights_info</a>.num_kernels() << <span class="stringliteral">";"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7cb842ebfe255726066039853a4322f0">weights_info</a>.kernel_size().first << <span class="stringliteral">","</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7cb842ebfe255726066039853a4322f0">weights_info</a>.kernel_size().second;</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="keywordflow">return</span> os;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7cb842ebfe255726066039853a4322f0"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7cb842ebfe255726066039853a4322f0">arm_compute::test::validation::weights_info</a></div><div class="ttdeci">weights_info</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_batch_normalization_layer_8cpp_source.xhtml#l00196">BatchNormalizationLayer.cpp:196</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="validation_2_c_l_2_batch_normalization_layer_8cpp_source.xhtml#l00196">arm_compute::test::validation::weights_info</a>.</p>
+
</div>
</div>
<a id="a352b805b77fde4f32f44af271580677b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a352b805b77fde4f32f44af271580677b">◆ </a></span>operator<<() <span class="overload">[7/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a352b805b77fde4f32f44af271580677b">◆ </a></span>operator<<() <span class="overload">[7/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -15978,13 +16881,13 @@
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00217">217</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01062">ROIPoolingLayerInfo::pooled_height()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01057">ROIPoolingLayerInfo::pooled_width()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01067">ROIPoolingLayerInfo::spatial_scale()</a>.</p>
<div class="fragment"><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>  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="l00220"></a><span class="lineno"> 220</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span> }</div></div><!-- fragment -->
+<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01226">ROIPoolingLayerInfo::pooled_height()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01221">ROIPoolingLayerInfo::pooled_width()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01231">ROIPoolingLayerInfo::spatial_scale()</a>.</p>
+
</div>
</div>
<a id="af81bb4f87d418311c7ca43a28c74bf03"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af81bb4f87d418311c7ca43a28c74bf03">◆ </a></span>operator<<() <span class="overload">[8/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#af81bb4f87d418311c7ca43a28c74bf03">◆ </a></span>operator<<() <span class="overload">[8/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -16009,7 +16912,7 @@
</table>
</div><div class="memdoc">
-<p>Formatted output of the <a class="el" href="classarm__compute_1_1_bounding_box_transform_info.xhtml" title="Bounding Box Transform information class. ">BoundingBoxTransformInfo</a> type. </p>
+<p>Formatted output of the <a class="el" href="classarm__compute_1_1_bounding_box_transform_info.xhtml" title="Bounding Box Transform information class.">BoundingBoxTransformInfo</a> type. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
@@ -16020,13 +16923,14 @@
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00243">243</a> of file <a class="el" href="utils_2_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>  <span class="keyword">auto</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a64a08a9fec5aeee8650e7182b6d171d0">weights</a> = bbox_info.weights();</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  os << <span class="stringliteral">"("</span> << bbox_info.img_width() << <span class="stringliteral">"x"</span> << bbox_info.img_height() << <span class="stringliteral">")~"</span> << bbox_info.scale() << <span class="stringliteral">"(weights = {"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a64a08a9fec5aeee8650e7182b6d171d0">weights</a>[0] << <span class="stringliteral">", "</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a64a08a9fec5aeee8650e7182b6d171d0">weights</a>[1] << <span class="stringliteral">", "</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a64a08a9fec5aeee8650e7182b6d171d0">weights</a>[2] << <span class="stringliteral">", "</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a64a08a9fec5aeee8650e7182b6d171d0">weights</a>[3] <<</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="stringliteral">"})"</span>;</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a64a08a9fec5aeee8650e7182b6d171d0"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a64a08a9fec5aeee8650e7182b6d171d0">arm_compute::test::validation::weights</a></div><div class="ttdeci">CLTensor weights</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00180">ConvolutionLayer.cpp:180</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01411">BoundingBoxTransformInfo::img_height()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01416">BoundingBoxTransformInfo::img_width()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01421">BoundingBoxTransformInfo::scale()</a>, <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00180">arm_compute::test::validation::weights</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01401">BoundingBoxTransformInfo::weights()</a>.</p>
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01247">BoundingBoxTransformInfo::img_height()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01252">BoundingBoxTransformInfo::img_width()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01257">BoundingBoxTransformInfo::scale()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01237">BoundingBoxTransformInfo::weights()</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="keyword">auto</span> weights = bbox_info.weights();</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  os << <span class="stringliteral">"("</span> << bbox_info.img_width() << <span class="stringliteral">"x"</span> << bbox_info.img_height() << <span class="stringliteral">")~"</span> << bbox_info.scale() << <span class="stringliteral">"(weights = {"</span> << weights[0] << <span class="stringliteral">", "</span> << weights[1] << <span class="stringliteral">", "</span> << weights[2] << <span class="stringliteral">", "</span> << weights[3] <<</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="stringliteral">"})"</span>;</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a59ea8b6694897a281eb3105f5c99f28f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a59ea8b6694897a281eb3105f5c99f28f">◆ </a></span>operator<<() <span class="overload">[9/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a59ea8b6694897a281eb3105f5c99f28f">◆ </a></span>operator<<() <span class="overload">[9/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -16051,7 +16955,7 @@
</table>
</div><div class="memdoc">
-<p>Formatted output of the <a class="el" href="classarm__compute_1_1_compute_anchors_info.xhtml" title="ComputeAnchors information class. ">ComputeAnchorsInfo</a> type. </p>
+<p>Formatted output of the <a class="el" href="classarm__compute_1_1_compute_anchors_info.xhtml" title="ComputeAnchors information class.">ComputeAnchorsInfo</a> type. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
@@ -16062,13 +16966,13 @@
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00271">271</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01185">ComputeAnchorsInfo::feat_height()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01191">ComputeAnchorsInfo::feat_width()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01197">ComputeAnchorsInfo::spatial_scale()</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>  os << <span class="stringliteral">"("</span> << anchors_info.feat_width() << <span class="stringliteral">"x"</span> << anchors_info.feat_height() << <span class="stringliteral">")~"</span> << anchors_info.spatial_scale();</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span> }</div></div><!-- fragment -->
+<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01349">ComputeAnchorsInfo::feat_height()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01355">ComputeAnchorsInfo::feat_width()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01361">ComputeAnchorsInfo::spatial_scale()</a>.</p>
+
</div>
</div>
<a id="a1a54a883f8acc0664accdae9bed93494"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1a54a883f8acc0664accdae9bed93494">◆ </a></span>operator<<() <span class="overload">[10/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a1a54a883f8acc0664accdae9bed93494">◆ </a></span>operator<<() <span class="overload">[10/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -16093,7 +16997,7 @@
</table>
</div><div class="memdoc">
-<p>Formatted output of the <a class="el" href="classarm__compute_1_1_generate_proposals_info.xhtml" title="Generate Proposals Information class. ">GenerateProposalsInfo</a> type. </p>
+<p>Formatted output of the <a class="el" href="classarm__compute_1_1_generate_proposals_info.xhtml" title="Generate Proposals Information class.">GenerateProposalsInfo</a> type. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
@@ -16104,13 +17008,13 @@
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00297">297</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01108">GenerateProposalsInfo::im_height()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01118">GenerateProposalsInfo::im_scale()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01113">GenerateProposalsInfo::im_width()</a>.</p>
<div class="fragment"><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>  os << <span class="stringliteral">"("</span> << proposals_info.im_width() << <span class="stringliteral">"x"</span> << proposals_info.im_height() << <span class="stringliteral">")~"</span> << proposals_info.im_scale();</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span> }</div></div><!-- fragment -->
+<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01272">GenerateProposalsInfo::im_height()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01282">GenerateProposalsInfo::im_scale()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01277">GenerateProposalsInfo::im_width()</a>.</p>
+
</div>
</div>
<a id="a32a5556a927543fe57c0d7b82c20e9b4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a32a5556a927543fe57c0d7b82c20e9b4">◆ </a></span>operator<<() <span class="overload">[11/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a32a5556a927543fe57c0d7b82c20e9b4">◆ </a></span>operator<<() <span class="overload">[11/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -16135,7 +17039,7 @@
</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>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>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
@@ -16146,13 +17050,13 @@
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00323">323</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00171">QuantizationInfo::offset</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00170">QuantizationInfo::scale</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>  os << <span class="stringliteral">"Scale:"</span> << quantization_info.scale << <span class="stringliteral">"~"</span></div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  << <span class="stringliteral">"Offset:"</span> << quantization_info.offset;</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span> }</div></div><!-- fragment -->
+<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00190">QuantizationInfo::offset</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00189">QuantizationInfo::scale</a>.</p>
+
</div>
</div>
<a id="a9d79efe2673aeb3f9a9160b6a78de50c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9d79efe2673aeb3f9a9160b6a78de50c">◆ </a></span>operator<<() <span class="overload">[12/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a9d79efe2673aeb3f9a9160b6a78de50c">◆ </a></span>operator<<() <span class="overload">[12/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -16188,14 +17092,14 @@
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00350">350</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">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#l00261">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="l00351"></a><span class="lineno"> 351</span> {</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  <span class="keywordflow">switch</span>(act_function)</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">case</span> ActivationLayerInfo::ActivationFunction::ABS:</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  os << <span class="stringliteral">"ABS"</span>;</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LINEAR:</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  os << <span class="stringliteral">"LINEAR"</span>;</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LOGISTIC:</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  os << <span class="stringliteral">"LOGISTIC"</span>;</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::RELU:</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  os << <span class="stringliteral">"RELU"</span>;</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::BOUNDED_RELU:</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  os << <span class="stringliteral">"BOUNDED_RELU"</span>;</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LEAKY_RELU:</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  os << <span class="stringliteral">"LEAKY_RELU"</span>;</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SOFT_RELU:</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  os << <span class="stringliteral">"SOFT_RELU"</span>;</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SQRT:</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  os << <span class="stringliteral">"SQRT"</span>;</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LU_BOUNDED_RELU:</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  os << <span class="stringliteral">"LU_BOUNDED_RELU"</span>;</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SQUARE:</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  os << <span class="stringliteral">"SQUARE"</span>;</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::TANH:</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  os << <span class="stringliteral">"TANH"</span>;</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</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="l00389"></a><span class="lineno"> 389</span>  }</div><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> os;</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</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#l00261">Error.h:261</a></div></div>
+<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>  <span class="keywordflow">switch</span>(act_function)</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">case</span> ActivationLayerInfo::ActivationFunction::ABS:</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  os << <span class="stringliteral">"ABS"</span>;</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LINEAR:</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  os << <span class="stringliteral">"LINEAR"</span>;</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LOGISTIC:</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  os << <span class="stringliteral">"LOGISTIC"</span>;</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::RELU:</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  os << <span class="stringliteral">"RELU"</span>;</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::BOUNDED_RELU:</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  os << <span class="stringliteral">"BOUNDED_RELU"</span>;</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LEAKY_RELU:</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  os << <span class="stringliteral">"LEAKY_RELU"</span>;</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SOFT_RELU:</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  os << <span class="stringliteral">"SOFT_RELU"</span>;</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SQRT:</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  os << <span class="stringliteral">"SQRT"</span>;</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LU_BOUNDED_RELU:</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  os << <span class="stringliteral">"LU_BOUNDED_RELU"</span>;</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SQUARE:</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  os << <span class="stringliteral">"SQUARE"</span>;</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::TANH:</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  os << <span class="stringliteral">"TANH"</span>;</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</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="l00389"></a><span class="lineno"> 389</span>  }</div><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> os;</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</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#l00261">Error.h:261</a></div></div>
</div><!-- fragment -->
+<p class="reference">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#l00261">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>
</div>
<a id="a2ab7370aab6e5698990c50c8871fa6fb"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2ab7370aab6e5698990c50c8871fa6fb">◆ </a></span>operator<<() <span class="overload">[13/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a2ab7370aab6e5698990c50c8871fa6fb">◆ </a></span>operator<<() <span class="overload">[13/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -16231,14 +17135,14 @@
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00430">430</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">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="l00431"></a><span class="lineno"> 431</span> {</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  <span class="keywordflow">switch</span>(norm_type)</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">case</span> NormType::CROSS_MAP:</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  os << <span class="stringliteral">"CROSS_MAP"</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> NormType::IN_MAP_1D:</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  os << <span class="stringliteral">"IN_MAP_1D"</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> NormType::IN_MAP_2D:</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  os << <span class="stringliteral">"IN_MAP_2D"</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">default</span>:</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</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="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> os;</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</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#l00261">Error.h:261</a></div></div>
+<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>  <span class="keywordflow">switch</span>(norm_type)</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">case</span> NormType::CROSS_MAP:</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  os << <span class="stringliteral">"CROSS_MAP"</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> NormType::IN_MAP_1D:</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  os << <span class="stringliteral">"IN_MAP_1D"</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> NormType::IN_MAP_2D:</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  os << <span class="stringliteral">"IN_MAP_2D"</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">default</span>:</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</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="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> os;</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</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#l00261">Error.h:261</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">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>
</div>
<a id="a6e422c610c91f611590173cd595c94c5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6e422c610c91f611590173cd595c94c5">◆ </a></span>operator<<() <span class="overload">[14/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a6e422c610c91f611590173cd595c94c5">◆ </a></span>operator<<() <span class="overload">[14/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -16274,14 +17178,14 @@
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00470">470</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01366">NormalizationLayerInfo::norm_size()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01361">NormalizationLayerInfo::type()</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>  os << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.type() << <span class="stringliteral">":NormSize="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.norm_size();</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</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="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>  os << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.type() << <span class="stringliteral">":NormSize="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.norm_size();</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a4f4125dba5283887b34f889b1c615c0c"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">arm_compute::test::validation::info</a></div><div class="ttdeci">info</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">ConvolutionLayer.cpp:174</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">arm_compute::test::validation::info</a>.</p>
+
</div>
</div>
<a id="a336cf1e870f467e44c184587a13feeec"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a336cf1e870f467e44c184587a13feeec">◆ </a></span>operator<<() <span class="overload">[15/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a336cf1e870f467e44c184587a13feeec">◆ </a></span>operator<<() <span class="overload">[15/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -16317,14 +17221,15 @@
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00483">483</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">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="l00484"></a><span class="lineno"> 484</span> {</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  <span class="keywordflow">switch</span>(pool_type)</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="keywordflow">case</span> PoolingType::AVG:</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  os << <span class="stringliteral">"AVG"</span>;</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  <span class="keywordflow">case</span> PoolingType::MAX:</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  os << <span class="stringliteral">"MAX"</span>;</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  <span class="keywordflow">case</span> PoolingType::L2:</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  os << <span class="stringliteral">"L2"</span>;</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</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="l00498"></a><span class="lineno"> 498</span>  }</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">return</span> os;</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</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#l00261">Error.h:261</a></div></div>
+<div class="fragment"><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">switch</span>(pool_type)</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="keywordflow">case</span> PoolingType::AVG:</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  os << <span class="stringliteral">"AVG"</span>;</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  <span class="keywordflow">case</span> <a class="code" href="elementwise__operation_8cl.xhtml#aacc3ee1a7f283f8ef65cea31f4436a95">PoolingType::MAX</a>:</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  os << <span class="stringliteral">"MAX"</span>;</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  <span class="keywordflow">case</span> PoolingType::L2:</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  os << <span class="stringliteral">"L2"</span>;</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</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="l00498"></a><span class="lineno"> 498</span>  }</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">return</span> os;</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</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#l00261">Error.h:261</a></div></div>
+<div class="ttc" id="elementwise__operation_8cl_xhtml_aacc3ee1a7f283f8ef65cea31f4436a95"><div class="ttname"><a href="elementwise__operation_8cl.xhtml#aacc3ee1a7f283f8ef65cea31f4436a95">MAX</a></div><div class="ttdeci">#define MAX(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="elementwise__operation_8cl_source.xhtml#l00036">elementwise_operation.cl:36</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">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>
</div>
<a id="ae72a61a2ca5c962ab1d37065e5598060"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae72a61a2ca5c962ab1d37065e5598060">◆ </a></span>operator<<() <span class="overload">[16/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#ae72a61a2ca5c962ab1d37065e5598060">◆ </a></span>operator<<() <span class="overload">[16/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -16360,14 +17265,14 @@
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00510">510</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01008">PoolingLayerInfo::pool_type()</a>.</p>
-<div class="fragment"><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>  os << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.pool_type();</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="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="fragment"><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>  os << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.pool_type();</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="namespacearm__compute_1_1test_1_1validation_xhtml_a4f4125dba5283887b34f889b1c615c0c"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">arm_compute::test::validation::info</a></div><div class="ttdeci">info</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">ConvolutionLayer.cpp:174</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">arm_compute::test::validation::info</a>.</p>
+
</div>
</div>
<a id="a1698cb24508a2bc45962bc887f18a8d0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1698cb24508a2bc45962bc887f18a8d0">◆ </a></span>operator<<() <span class="overload">[17/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a1698cb24508a2bc45962bc887f18a8d0">◆ </a></span>operator<<() <span class="overload">[17/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -16404,15 +17309,14 @@
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00538">538</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">NCHW</a>, <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">NHWC</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
-<div class="fragment"><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">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">data_layout</a>)</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="keywordflow">case</span> DataLayout::UNKNOWN:</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  os << <span class="stringliteral">"UNKNOWN"</span>;</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>  <span class="keywordflow">case</span> DataLayout::NHWC:</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>  os << <span class="stringliteral">"NHWC"</span>;</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>  <span class="keywordflow">case</span> DataLayout::NCHW:</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>  os << <span class="stringliteral">"NCHW"</span>;</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</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="l00553"></a><span class="lineno"> 553</span>  }</div><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="keywordflow">return</span> os;</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</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#l00261">Error.h:261</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a786677cbfb3f5677b4d84f3056eb08db"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">arm_compute::test::validation::data_layout</a></div><div class="ttdeci">data_layout</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00251">Winograd.cpp:251</a></div></div>
+<div class="fragment"><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">switch</span>(data_layout)</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="keywordflow">case</span> DataLayout::UNKNOWN:</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  os << <span class="stringliteral">"UNKNOWN"</span>;</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>  <span class="keywordflow">case</span> DataLayout::NHWC:</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>  os << <span class="stringliteral">"NHWC"</span>;</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>  <span class="keywordflow">case</span> DataLayout::NCHW:</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>  os << <span class="stringliteral">"NCHW"</span>;</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</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="l00553"></a><span class="lineno"> 553</span>  }</div><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="keywordflow">return</span> os;</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</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#l00261">Error.h:261</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">NCHW</a>, <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">NHWC</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
+
</div>
</div>
<a id="adec19acb64bfca26fa53ef76f03b79ef"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#adec19acb64bfca26fa53ef76f03b79ef">◆ </a></span>operator<<() <span class="overload">[18/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#adec19acb64bfca26fa53ef76f03b79ef">◆ </a></span>operator<<() <span class="overload">[18/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -16449,14 +17353,14 @@
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00579">579</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a628bcf7e10fc1c2a984f379a1ec3393a">BATCHES</a>, <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02af52e9c50a060add65a035429b2a22229">CHANNEL</a>, <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02ad770ba3ce18fa409965dfdf5e7c348e6">HEIGHT</a>, and <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195">WIDTH</a>.</p>
-<div class="fragment"><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">switch</span>(data_layout_dim)</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="keywordflow">case</span> DataLayoutDimension::WIDTH:</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>  os << <span class="stringliteral">"WIDTH"</span>;</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>  <span class="keywordflow">case</span> DataLayoutDimension::HEIGHT:</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>  os << <span class="stringliteral">"HEIGHT"</span>;</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>  <span class="keywordflow">case</span> DataLayoutDimension::CHANNEL:</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>  os << <span class="stringliteral">"CHANNEL"</span>;</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>  <span class="keywordflow">case</span> DataLayoutDimension::BATCHES:</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>  os << <span class="stringliteral">"BATCHES"</span>;</div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</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="l00597"></a><span class="lineno"> 597</span>  }</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</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#l00261">Error.h:261</a></div></div>
+<div class="fragment"><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">switch</span>(data_layout_dim)</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="keywordflow">case</span> DataLayoutDimension::WIDTH:</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>  os << <span class="stringliteral">"WIDTH"</span>;</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>  <span class="keywordflow">case</span> DataLayoutDimension::HEIGHT:</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>  os << <span class="stringliteral">"HEIGHT"</span>;</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>  <span class="keywordflow">case</span> DataLayoutDimension::CHANNEL:</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>  os << <span class="stringliteral">"CHANNEL"</span>;</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>  <span class="keywordflow">case</span> DataLayoutDimension::BATCHES:</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>  os << <span class="stringliteral">"BATCHES"</span>;</div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</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="l00597"></a><span class="lineno"> 597</span>  }</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</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#l00261">Error.h:261</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a628bcf7e10fc1c2a984f379a1ec3393a">BATCHES</a>, <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02af52e9c50a060add65a035429b2a22229">CHANNEL</a>, <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02ad770ba3ce18fa409965dfdf5e7c348e6">HEIGHT</a>, and <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195">WIDTH</a>.</p>
+
</div>
</div>
<a id="a685af15532d70b8682bcc52f06f034f9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a685af15532d70b8682bcc52f06f034f9">◆ </a></span>operator<<() <span class="overload">[19/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a685af15532d70b8682bcc52f06f034f9">◆ </a></span>operator<<() <span class="overload">[19/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -16492,15 +17396,15 @@
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00608">608</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">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#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="l00609"></a><span class="lineno"> 609</span> {</div><div class="line"><a name="l00610"></a><span class="lineno"> 610</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="l00611"></a><span class="lineno"> 611</span>  {</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>  <span class="keywordflow">case</span> DataType::UNKNOWN:</div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>  os << <span class="stringliteral">"UNKNOWN"</span>;</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>  <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>  os << <span class="stringliteral">"U8"</span>;</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>  os << <span class="stringliteral">"QASYMM8"</span>;</div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>  os << <span class="stringliteral">"S8"</span>;</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>  os << <span class="stringliteral">"U16"</span>;</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>  os << <span class="stringliteral">"S16"</span>;</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>  os << <span class="stringliteral">"U32"</span>;</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>  os << <span class="stringliteral">"S32"</span>;</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>  <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>  os << <span class="stringliteral">"U64"</span>;</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>  <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>  os << <span class="stringliteral">"S64"</span>;</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>  os << <span class="stringliteral">"F16"</span>;</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>  os << <span class="stringliteral">"F32"</span>;</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>  <span class="keywordflow">case</span> DataType::F64:</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>  os << <span class="stringliteral">"F64"</span>;</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>  <span class="keywordflow">case</span> DataType::SIZET:</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>  os << <span class="stringliteral">"SIZET"</span>;</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</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="l00656"></a><span class="lineno"> 656</span>  }</div><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>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</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#l00261">Error.h:261</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_arithmetic_subtraction_8cpp_source.xhtml#l00174">ArithmeticSubtraction.cpp:174</a></div></div>
+<div class="fragment"><div class="line"><a name="l00609"></a><span class="lineno"> 609</span> {</div><div class="line"><a name="l00610"></a><span class="lineno"> 610</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="l00611"></a><span class="lineno"> 611</span>  {</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>  <span class="keywordflow">case</span> DataType::UNKNOWN:</div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>  os << <span class="stringliteral">"UNKNOWN"</span>;</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>  <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>  os << <span class="stringliteral">"U8"</span>;</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>  os << <span class="stringliteral">"QASYMM8"</span>;</div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>  os << <span class="stringliteral">"S8"</span>;</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>  os << <span class="stringliteral">"U16"</span>;</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>  os << <span class="stringliteral">"S16"</span>;</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>  os << <span class="stringliteral">"U32"</span>;</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>  os << <span class="stringliteral">"S32"</span>;</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>  <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>  os << <span class="stringliteral">"U64"</span>;</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>  <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>  os << <span class="stringliteral">"S64"</span>;</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>  os << <span class="stringliteral">"F16"</span>;</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>  os << <span class="stringliteral">"F32"</span>;</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>  <span class="keywordflow">case</span> DataType::F64:</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>  os << <span class="stringliteral">"F64"</span>;</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>  <span class="keywordflow">case</span> DataType::SIZET:</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>  os << <span class="stringliteral">"SIZET"</span>;</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</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="l00656"></a><span class="lineno"> 656</span>  }</div><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>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</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#l00261">Error.h:261</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="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">ConvolutionLayer.cpp:174</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">arm_compute::test::validation::data_type</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#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>
</div>
<a id="a3b22e54b0ac0204c3b89aebcd695fa03"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3b22e54b0ac0204c3b89aebcd695fa03">◆ </a></span>operator<<() <span class="overload">[20/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a3b22e54b0ac0204c3b89aebcd695fa03">◆ </a></span>operator<<() <span class="overload">[20/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -16536,14 +17440,14 @@
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00681">681</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">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="l00682"></a><span class="lineno"> 682</span> {</div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>  <span class="keywordflow">switch</span>(format)</div><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">case</span> Format::UNKNOWN:</div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>  os << <span class="stringliteral">"UNKNOWN"</span>;</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>  <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>  os << <span class="stringliteral">"U8"</span>;</div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>  <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>  os << <span class="stringliteral">"S16"</span>;</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>  <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>  os << <span class="stringliteral">"U16"</span>;</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>  <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span>  os << <span class="stringliteral">"S32"</span>;</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>  <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>  os << <span class="stringliteral">"U32"</span>;</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>  <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>  os << <span class="stringliteral">"F16"</span>;</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>  <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>  os << <span class="stringliteral">"F32"</span>;</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>  <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>  os << <span class="stringliteral">"UV88"</span>;</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>  <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>  os << <span class="stringliteral">"RGB888"</span>;</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>  os << <span class="stringliteral">"RGBA8888"</span>;</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>  <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>  os << <span class="stringliteral">"YUV444"</span>;</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span>  <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span>  os << <span class="stringliteral">"YUYV422"</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">case</span> Format::NV12:</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>  os << <span class="stringliteral">"NV12"</span>;</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>  <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>  os << <span class="stringliteral">"NV21"</span>;</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>  <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  os << <span class="stringliteral">"IYUV"</span>;</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>  <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  os << <span class="stringliteral">"UYVY422"</span>;</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</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="l00738"></a><span class="lineno"> 738</span>  }</div><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>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</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#l00261">Error.h:261</a></div></div>
+<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>  <span class="keywordflow">switch</span>(format)</div><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">case</span> Format::UNKNOWN:</div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>  os << <span class="stringliteral">"UNKNOWN"</span>;</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>  <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>  os << <span class="stringliteral">"U8"</span>;</div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>  <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>  os << <span class="stringliteral">"S16"</span>;</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>  <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>  os << <span class="stringliteral">"U16"</span>;</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>  <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span>  os << <span class="stringliteral">"S32"</span>;</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>  <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>  os << <span class="stringliteral">"U32"</span>;</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>  <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>  os << <span class="stringliteral">"F16"</span>;</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>  <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>  os << <span class="stringliteral">"F32"</span>;</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>  <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>  os << <span class="stringliteral">"UV88"</span>;</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>  <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>  os << <span class="stringliteral">"RGB888"</span>;</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>  os << <span class="stringliteral">"RGBA8888"</span>;</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>  <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>  os << <span class="stringliteral">"YUV444"</span>;</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span>  <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span>  os << <span class="stringliteral">"YUYV422"</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">case</span> Format::NV12:</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>  os << <span class="stringliteral">"NV12"</span>;</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>  <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>  os << <span class="stringliteral">"NV21"</span>;</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>  <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  os << <span class="stringliteral">"IYUV"</span>;</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>  <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  os << <span class="stringliteral">"UYVY422"</span>;</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</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="l00738"></a><span class="lineno"> 738</span>  }</div><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>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</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#l00261">Error.h:261</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">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>
</div>
<a id="aa66be15c012986ebd4c1934b97e08a36"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa66be15c012986ebd4c1934b97e08a36">◆ </a></span>operator<<() <span class="overload">[21/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#aa66be15c012986ebd4c1934b97e08a36">◆ </a></span>operator<<() <span class="overload">[21/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -16579,14 +17483,15 @@
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00763">763</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="_error_8h_source.xhtml#l00261">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="l00764"></a><span class="lineno"> 764</span> {</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span>  <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>  {</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>  <span class="keywordflow">case</span> Channel::UNKNOWN:</div><div class="line"><a name="l00768"></a><span class="lineno"> 768</span>  os << <span class="stringliteral">"UNKNOWN"</span>;</div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>  <span class="keywordflow">case</span> Channel::C0:</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>  os << <span class="stringliteral">"C0"</span>;</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>  <span class="keywordflow">case</span> Channel::C1:</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  os << <span class="stringliteral">"C1"</span>;</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>  <span class="keywordflow">case</span> Channel::C2:</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>  os << <span class="stringliteral">"C2"</span>;</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>  <span class="keywordflow">case</span> Channel::C3:</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>  os << <span class="stringliteral">"C3"</span>;</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>  <span class="keywordflow">case</span> Channel::R:</div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>  os << <span class="stringliteral">"R"</span>;</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>  <span class="keywordflow">case</span> Channel::G:</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>  os << <span class="stringliteral">"G"</span>;</div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>  <span class="keywordflow">case</span> Channel::B:</div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>  os << <span class="stringliteral">"B"</span>;</div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  <span class="keywordflow">case</span> Channel::A:</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  os << <span class="stringliteral">"A"</span>;</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>  <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>  os << <span class="stringliteral">"Y"</span>;</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span>  <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>  os << <span class="stringliteral">"U"</span>;</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>  <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>  os << <span class="stringliteral">"V"</span>;</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00804"></a><span class="lineno"> 804</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="l00805"></a><span class="lineno"> 805</span>  }</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="keywordflow">return</span> os;</div><div class="line"><a name="l00808"></a><span class="lineno"> 808</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#l00261">Error.h:261</a></div></div>
+<div class="fragment"><div class="line"><a name="l00764"></a><span class="lineno"> 764</span> {</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span>  <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>  {</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>  <span class="keywordflow">case</span> Channel::UNKNOWN:</div><div class="line"><a name="l00768"></a><span class="lineno"> 768</span>  os << <span class="stringliteral">"UNKNOWN"</span>;</div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>  <span class="keywordflow">case</span> Channel::C0:</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>  os << <span class="stringliteral">"C0"</span>;</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>  <span class="keywordflow">case</span> Channel::C1:</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  os << <span class="stringliteral">"C1"</span>;</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>  <span class="keywordflow">case</span> Channel::C2:</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>  os << <span class="stringliteral">"C2"</span>;</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>  <span class="keywordflow">case</span> Channel::C3:</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>  os << <span class="stringliteral">"C3"</span>;</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>  <span class="keywordflow">case</span> Channel::R:</div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>  os << <span class="stringliteral">"R"</span>;</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>  <span class="keywordflow">case</span> Channel::G:</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>  os << <span class="stringliteral">"G"</span>;</div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>  <span class="keywordflow">case</span> Channel::B:</div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>  os << <span class="stringliteral">"B"</span>;</div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  <span class="keywordflow">case</span> Channel::A:</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  os << <span class="stringliteral">"A"</span>;</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>  <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>  os << <span class="stringliteral">"Y"</span>;</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">Channel::U</a>:</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>  os << <span class="stringliteral">"U"</span>;</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>  <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>  os << <span class="stringliteral">"V"</span>;</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00804"></a><span class="lineno"> 804</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="l00805"></a><span class="lineno"> 805</span>  }</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="keywordflow">return</span> os;</div><div class="line"><a name="l00808"></a><span class="lineno"> 808</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#l00261">Error.h:261</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1utils_1_1cast_xhtml_a2ea3d1fc01a3a442900249ca182ffa5e"><div class="ttname"><a href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">arm_compute::utils::cast::U</a></div><div class="ttdeci">U</div><div class="ttdef"><b>Definition:</b> <a href="_saturate_cast_8h_source.xhtml#l00057">SaturateCast.h:57</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="_error_8h_source.xhtml#l00261">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>
</div>
<a id="a7929032d41d5f23cd1778a70508d0219"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7929032d41d5f23cd1778a70508d0219">◆ </a></span>operator<<() <span class="overload">[22/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a7929032d41d5f23cd1778a70508d0219">◆ </a></span>operator<<() <span class="overload">[22/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -16622,14 +17527,14 @@
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00830">830</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">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="l00831"></a><span class="lineno"> 831</span> {</div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span>  <span class="keywordflow">switch</span>(mode)</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">case</span> BorderMode::UNDEFINED:</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span>  os << <span class="stringliteral">"UNDEFINED"</span>;</div><div class="line"><a name="l00836"></a><span class="lineno"> 836</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>  <span class="keywordflow">case</span> BorderMode::CONSTANT:</div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>  os << <span class="stringliteral">"CONSTANT"</span>;</div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span>  <span class="keywordflow">case</span> BorderMode::REPLICATE:</div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span>  os << <span class="stringliteral">"REPLICATE"</span>;</div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00844"></a><span class="lineno"> 844</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="l00845"></a><span class="lineno"> 845</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="keywordflow">return</span> os;</div><div class="line"><a name="l00848"></a><span class="lineno"> 848</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#l00261">Error.h:261</a></div></div>
+<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="keywordflow">switch</span>(mode)</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">case</span> BorderMode::UNDEFINED:</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span>  os << <span class="stringliteral">"UNDEFINED"</span>;</div><div class="line"><a name="l00836"></a><span class="lineno"> 836</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>  <span class="keywordflow">case</span> BorderMode::CONSTANT:</div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>  os << <span class="stringliteral">"CONSTANT"</span>;</div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span>  <span class="keywordflow">case</span> BorderMode::REPLICATE:</div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span>  os << <span class="stringliteral">"REPLICATE"</span>;</div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00844"></a><span class="lineno"> 844</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="l00845"></a><span class="lineno"> 845</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="keywordflow">return</span> os;</div><div class="line"><a name="l00848"></a><span class="lineno"> 848</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#l00261">Error.h:261</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">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>
</div>
<a id="af32c4c5cdd0efde09774eb803bc8a0bd"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af32c4c5cdd0efde09774eb803bc8a0bd">◆ </a></span>operator<<() <span class="overload">[23/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#af32c4c5cdd0efde09774eb803bc8a0bd">◆ </a></span>operator<<() <span class="overload">[23/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -16654,7 +17559,7 @@
</table>
</div><div class="memdoc">
-<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>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>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
@@ -16665,13 +17570,13 @@
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00857">857</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00376">BorderSize::bottom</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00377">BorderSize::left</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00375">BorderSize::right</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00374">BorderSize::top</a>.</p>
<div class="fragment"><div class="line"><a name="l00858"></a><span class="lineno"> 858</span> {</div><div class="line"><a name="l00859"></a><span class="lineno"> 859</span>  os << border.top << <span class="stringliteral">","</span></div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>  << border.right << <span class="stringliteral">","</span></div><div class="line"><a name="l00861"></a><span class="lineno"> 861</span>  << border.bottom << <span class="stringliteral">","</span></div><div class="line"><a name="l00862"></a><span class="lineno"> 862</span>  << border.left;</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="keywordflow">return</span> os;</div><div class="line"><a name="l00865"></a><span class="lineno"> 865</span> }</div></div><!-- fragment -->
+<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00395">BorderSize::bottom</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00396">BorderSize::left</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00394">BorderSize::right</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00393">BorderSize::top</a>.</p>
+
</div>
</div>
<a id="af15a06b73e1fde15f0809ce07bf1ab7d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af15a06b73e1fde15f0809ce07bf1ab7d">◆ </a></span>operator<<() <span class="overload">[24/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#af15a06b73e1fde15f0809ce07bf1ab7d">◆ </a></span>operator<<() <span class="overload">[24/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -16707,12 +17612,54 @@
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00874">874</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><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>  os << <span class="stringliteral">"{"</span>;</div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>  <span class="keywordflow">for</span>(<span class="keyword">auto</span> <span class="keyword">const</span> &p : <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a735a025fce26c1ef147b54426df18181">padding</a>)</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>  os << <span class="stringliteral">"{"</span> << p.first << <span class="stringliteral">","</span> << p.second << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>  }</div><div class="line"><a name="l00881"></a><span class="lineno"> 881</span>  os << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a735a025fce26c1ef147b54426df18181"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a735a025fce26c1ef147b54426df18181">arm_compute::test::validation::padding</a></div><div class="ttdeci">const PaddingSize padding</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00111">ArithmeticDivision.cpp:111</a></div></div>
+<div class="fragment"><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>  os << <span class="stringliteral">"{"</span>;</div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>  <span class="keywordflow">for</span>(<span class="keyword">auto</span> <span class="keyword">const</span> &p : <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a735a025fce26c1ef147b54426df18181">padding</a>)</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>  os << <span class="stringliteral">"{"</span> << p.first << <span class="stringliteral">","</span> << p.second << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>  }</div><div class="line"><a name="l00881"></a><span class="lineno"> 881</span>  os << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a735a025fce26c1ef147b54426df18181"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a735a025fce26c1ef147b54426df18181">arm_compute::test::validation::padding</a></div><div class="ttdeci">const PaddingSize padding</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00113">AbsoluteDifference.cpp:113</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00113">arm_compute::test::validation::padding</a>.</p>
+
+</div>
+</div>
+<a id="a9caac285297030f50a972095e767aff9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9caac285297030f50a972095e767aff9">◆ </a></span>operator<<() <span class="overload">[25/55]</span></h2>
+
+<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#afe9e10e5fdfd1e2665ac17c75c0cacd8">Multiples</a> & </td>
+ <td class="paramname"><em>multiples</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Formatted output of the Multiples type. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">multiples</td><td>Type to output.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00892">892</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00893"></a><span class="lineno"> 893</span> {</div><div class="line"><a name="l00894"></a><span class="lineno"> 894</span>  os << <span class="stringliteral">"("</span>;</div><div class="line"><a name="l00895"></a><span class="lineno"> 895</span>  <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> i = 0; i < multiples.size() - 1; i++)</div><div class="line"><a name="l00896"></a><span class="lineno"> 896</span>  {</div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span>  os << multiples[i] << <span class="stringliteral">", "</span>;</div><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>  }</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>  os << multiples.back() << <span class="stringliteral">")"</span>;</div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00901"></a><span class="lineno"> 901</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a509047aefc691398f1bb60b1f967a98b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a509047aefc691398f1bb60b1f967a98b">◆ </a></span>operator<<() <span class="overload">[25/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a509047aefc691398f1bb60b1f967a98b">◆ </a></span>operator<<() <span class="overload">[26/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -16747,16 +17694,16 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00892">892</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>, <a class="el" href="_error_8h_source.xhtml#l00261">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="l00893"></a><span class="lineno"> 893</span> {</div><div class="line"><a name="l00894"></a><span class="lineno"> 894</span>  <span class="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">policy</a>)</div><div class="line"><a name="l00895"></a><span class="lineno"> 895</span>  {</div><div class="line"><a name="l00896"></a><span class="lineno"> 896</span>  <span class="keywordflow">case</span> InterpolationPolicy::NEAREST_NEIGHBOR:</div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span>  os << <span class="stringliteral">"NEAREST_NEIGHBOR"</span>;</div><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>  <span class="keywordflow">case</span> InterpolationPolicy::BILINEAR:</div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>  os << <span class="stringliteral">"BILINEAR"</span>;</div><div class="line"><a name="l00901"></a><span class="lineno"> 901</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00902"></a><span class="lineno"> 902</span>  <span class="keywordflow">case</span> InterpolationPolicy::AREA:</div><div class="line"><a name="l00903"></a><span class="lineno"> 903</span>  os << <span class="stringliteral">"AREA"</span>;</div><div class="line"><a name="l00904"></a><span class="lineno"> 904</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00905"></a><span class="lineno"> 905</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00906"></a><span class="lineno"> 906</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="l00907"></a><span class="lineno"> 907</span>  }</div><div class="line"><a name="l00908"></a><span class="lineno"> 908</span> </div><div class="line"><a name="l00909"></a><span class="lineno"> 909</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00910"></a><span class="lineno"> 910</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#l00261">Error.h:261</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad986b73e9d5f47a623a9b6d773c25e34"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">arm_compute::test::validation::policy</a></div><div class="ttdeci">policy</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00175">ArithmeticSubtraction.cpp:175</a></div></div>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00910">910</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00911"></a><span class="lineno"> 911</span> {</div><div class="line"><a name="l00912"></a><span class="lineno"> 912</span>  <span class="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">policy</a>)</div><div class="line"><a name="l00913"></a><span class="lineno"> 913</span>  {</div><div class="line"><a name="l00914"></a><span class="lineno"> 914</span>  <span class="keywordflow">case</span> InterpolationPolicy::NEAREST_NEIGHBOR:</div><div class="line"><a name="l00915"></a><span class="lineno"> 915</span>  os << <span class="stringliteral">"NEAREST_NEIGHBOR"</span>;</div><div class="line"><a name="l00916"></a><span class="lineno"> 916</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00917"></a><span class="lineno"> 917</span>  <span class="keywordflow">case</span> InterpolationPolicy::BILINEAR:</div><div class="line"><a name="l00918"></a><span class="lineno"> 918</span>  os << <span class="stringliteral">"BILINEAR"</span>;</div><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00920"></a><span class="lineno"> 920</span>  <span class="keywordflow">case</span> InterpolationPolicy::AREA:</div><div class="line"><a name="l00921"></a><span class="lineno"> 921</span>  os << <span class="stringliteral">"AREA"</span>;</div><div class="line"><a name="l00922"></a><span class="lineno"> 922</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00923"></a><span class="lineno"> 923</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00924"></a><span class="lineno"> 924</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="l00925"></a><span class="lineno"> 925</span>  }</div><div class="line"><a name="l00926"></a><span class="lineno"> 926</span> </div><div class="line"><a name="l00927"></a><span class="lineno"> 927</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00928"></a><span class="lineno"> 928</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#l00261">Error.h:261</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad986b73e9d5f47a623a9b6d773c25e34"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">arm_compute::test::validation::policy</a></div><div class="ttdeci">policy</div><div class="ttdef"><b>Definition:</b> <a href="_cast_8cpp_source.xhtml#l00169">Cast.cpp:169</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>, <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>, <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2">NEAREST_NEIGHBOR</a>, and <a class="el" href="_cast_8cpp_source.xhtml#l00169">arm_compute::test::validation::policy</a>.</p>
+
</div>
</div>
<a id="aab8eb6dc1ba89bb8a69f1c3845988a2b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aab8eb6dc1ba89bb8a69f1c3845988a2b">◆ </a></span>operator<<() <span class="overload">[26/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#aab8eb6dc1ba89bb8a69f1c3845988a2b">◆ </a></span>operator<<() <span class="overload">[27/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -16791,16 +17738,16 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00919">919</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">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="l00920"></a><span class="lineno"> 920</span> {</div><div class="line"><a name="l00921"></a><span class="lineno"> 921</span>  <span class="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">policy</a>)</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>  <span class="keywordflow">case</span> SamplingPolicy::CENTER:</div><div class="line"><a name="l00924"></a><span class="lineno"> 924</span>  os << <span class="stringliteral">"CENTER"</span>;</div><div class="line"><a name="l00925"></a><span class="lineno"> 925</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00926"></a><span class="lineno"> 926</span>  <span class="keywordflow">case</span> SamplingPolicy::TOP_LEFT:</div><div class="line"><a name="l00927"></a><span class="lineno"> 927</span>  os << <span class="stringliteral">"TOP_LEFT"</span>;</div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00929"></a><span class="lineno"> 929</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00930"></a><span class="lineno"> 930</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="l00931"></a><span class="lineno"> 931</span>  }</div><div class="line"><a name="l00932"></a><span class="lineno"> 932</span> </div><div class="line"><a name="l00933"></a><span class="lineno"> 933</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00934"></a><span class="lineno"> 934</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#l00261">Error.h:261</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad986b73e9d5f47a623a9b6d773c25e34"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">arm_compute::test::validation::policy</a></div><div class="ttdeci">policy</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00175">ArithmeticSubtraction.cpp:175</a></div></div>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00937">937</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00938"></a><span class="lineno"> 938</span> {</div><div class="line"><a name="l00939"></a><span class="lineno"> 939</span>  <span class="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">policy</a>)</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>  <span class="keywordflow">case</span> SamplingPolicy::CENTER:</div><div class="line"><a name="l00942"></a><span class="lineno"> 942</span>  os << <span class="stringliteral">"CENTER"</span>;</div><div class="line"><a name="l00943"></a><span class="lineno"> 943</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00944"></a><span class="lineno"> 944</span>  <span class="keywordflow">case</span> SamplingPolicy::TOP_LEFT:</div><div class="line"><a name="l00945"></a><span class="lineno"> 945</span>  os << <span class="stringliteral">"TOP_LEFT"</span>;</div><div class="line"><a name="l00946"></a><span class="lineno"> 946</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00947"></a><span class="lineno"> 947</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00948"></a><span class="lineno"> 948</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="l00949"></a><span class="lineno"> 949</span>  }</div><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="keywordflow">return</span> os;</div><div class="line"><a name="l00952"></a><span class="lineno"> 952</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#l00261">Error.h:261</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad986b73e9d5f47a623a9b6d773c25e34"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">arm_compute::test::validation::policy</a></div><div class="ttdeci">policy</div><div class="ttdef"><b>Definition:</b> <a href="_cast_8cpp_source.xhtml#l00169">Cast.cpp:169</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7bac397289ee45877be0cd49811fe245b4e">CENTER</a>, <a class="el" href="_cast_8cpp_source.xhtml#l00169">arm_compute::test::validation::policy</a>, and <a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7ba747385047b85ae751f83adb36435a3c1">TOP_LEFT</a>.</p>
+
</div>
</div>
<a id="ab398837465010958bfccff032ad1ee51"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab398837465010958bfccff032ad1ee51">◆ </a></span>operator<<() <span class="overload">[27/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#ab398837465010958bfccff032ad1ee51">◆ </a></span>operator<<() <span class="overload">[28/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -16825,7 +17772,7 @@
</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>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>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
@@ -16835,15 +17782,15 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00943">943</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_tensor_info_8h_source.xhtml#l00256">TensorInfo::data_type()</a>, <a class="el" href="_tensor_info_8h_source.xhtml#l00248">TensorInfo::num_channels()</a>, and <a class="el" href="_tensor_info_8h_source.xhtml#l00252">TensorInfo::tensor_shape()</a>.</p>
-<div class="fragment"><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>  os << <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="l00946"></a><span class="lineno"> 946</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="l00947"></a><span class="lineno"> 947</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="l00948"></a><span class="lineno"> 948</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00949"></a><span class="lineno"> 949</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 class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00961">961</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00962"></a><span class="lineno"> 962</span> {</div><div class="line"><a name="l00963"></a><span class="lineno"> 963</span>  os << <span class="stringliteral">"{Shape="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.tensor_shape() << <span class="stringliteral">","</span></div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>  << <span class="stringliteral">"Type="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.data_type() << <span class="stringliteral">","</span></div><div class="line"><a name="l00965"></a><span class="lineno"> 965</span>  << <span class="stringliteral">"Channels="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.num_channels() << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l00966"></a><span class="lineno"> 966</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00967"></a><span class="lineno"> 967</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a4f4125dba5283887b34f889b1c615c0c"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">arm_compute::test::validation::info</a></div><div class="ttdeci">info</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">ConvolutionLayer.cpp:174</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">arm_compute::test::validation::info</a>.</p>
+
</div>
</div>
<a id="a0fc75dce8064a37effa5e71344b6a5d2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0fc75dce8064a37effa5e71344b6a5d2">◆ </a></span>operator<<() <span class="overload">[28/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a0fc75dce8064a37effa5e71344b6a5d2">◆ </a></span>operator<<() <span class="overload">[29/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -16868,7 +17815,7 @@
</table>
</div><div class="memdoc">
-<p>Formatted output of the <a class="el" href="classarm__compute_1_1_g_e_m_m_reshape_info.xhtml" title="GEMM reshape information class. ">GEMMReshapeInfo</a> type. </p>
+<p>Formatted output of the <a class="el" href="classarm__compute_1_1_g_e_m_m_reshape_info.xhtml" title="GEMM reshape information class.">GEMMReshapeInfo</a> type. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
@@ -16878,15 +17825,15 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01024">1024</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01529">GEMMReshapeInfo::k()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01513">GEMMReshapeInfo::m()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01545">GEMMReshapeInfo::mult_interleave4x4_height()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01537">GEMMReshapeInfo::mult_transpose1xW_width()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01521">GEMMReshapeInfo::n()</a>.</p>
-<div class="fragment"><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>  os << <span class="stringliteral">"{m="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.m() << <span class="stringliteral">","</span>;</div><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>  os << <span class="stringliteral">"n="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.n() << <span class="stringliteral">","</span>;</div><div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>  os << <span class="stringliteral">"k="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.k() << <span class="stringliteral">","</span>;</div><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>  os << <span class="stringliteral">"mult_transpose1xW_width="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.mult_transpose1xW_width() << <span class="stringliteral">","</span>;</div><div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>  os << <span class="stringliteral">"mult_interleave4x4_height="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.mult_interleave4x4_height();</div><div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>  os << <span class="stringliteral">"}"</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>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</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 class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01042">1042</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> {</div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>  os << <span class="stringliteral">"{m="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.m() << <span class="stringliteral">","</span>;</div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>  os << <span class="stringliteral">"n="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.n() << <span class="stringliteral">","</span>;</div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>  os << <span class="stringliteral">"k="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.k() << <span class="stringliteral">","</span>;</div><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>  os << <span class="stringliteral">"mult_transpose1xW_width="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.mult_transpose1xW_width() << <span class="stringliteral">","</span>;</div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>  os << <span class="stringliteral">"mult_interleave4x4_height="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.mult_interleave4x4_height();</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>  os << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> </div><div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a4f4125dba5283887b34f889b1c615c0c"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">arm_compute::test::validation::info</a></div><div class="ttdeci">info</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">ConvolutionLayer.cpp:174</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">arm_compute::test::validation::info</a>.</p>
+
</div>
</div>
<a id="a5fdae5de2d2cf2e7957f0299d17ce5ec"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5fdae5de2d2cf2e7957f0299d17ce5ec">◆ </a></span>operator<<() <span class="overload">[29/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a5fdae5de2d2cf2e7957f0299d17ce5ec">◆ </a></span>operator<<() <span class="overload">[30/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -16911,7 +17858,7 @@
</table>
</div><div class="memdoc">
-<p>Formatted output of the <a class="el" href="classarm__compute_1_1_g_e_m_m_info.xhtml" title="GEMM information class. ">GEMMInfo</a> type. </p>
+<p>Formatted output of the <a class="el" href="classarm__compute_1_1_g_e_m_m_info.xhtml" title="GEMM information class.">GEMMInfo</a> type. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
@@ -16921,15 +17868,15 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01043">1043</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01637">GEMMInfo::is_a_reshaped()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01645">GEMMInfo::is_b_reshaped()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01655">GEMMInfo::reshape_b_only_on_first_run()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span> {</div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>  os << <span class="stringliteral">"{is_a_reshaped="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.is_a_reshaped() << <span class="stringliteral">","</span>;</div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>  os << <span class="stringliteral">"is_b_reshaped="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.is_b_reshaped() << <span class="stringliteral">","</span>;</div><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>  os << <span class="stringliteral">"reshape_b_only_on_first_run="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.reshape_b_only_on_first_run() << <span class="stringliteral">","</span>;</div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>  os << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> </div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01051"></a><span class="lineno"> 1051</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 class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01061">1061</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><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>  os << <span class="stringliteral">"{is_a_reshaped="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.is_a_reshaped() << <span class="stringliteral">","</span>;</div><div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>  os << <span class="stringliteral">"is_b_reshaped="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.is_b_reshaped() << <span class="stringliteral">","</span>;</div><div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>  os << <span class="stringliteral">"reshape_b_only_on_first_run="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.reshape_b_only_on_first_run() << <span class="stringliteral">","</span>;</div><div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>  os << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> </div><div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a4f4125dba5283887b34f889b1c615c0c"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">arm_compute::test::validation::info</a></div><div class="ttdeci">info</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">ConvolutionLayer.cpp:174</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">arm_compute::test::validation::info</a>.</p>
+
</div>
</div>
<a id="a6ed8dc0f587448d14a1a33cbd5fc4f70"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6ed8dc0f587448d14a1a33cbd5fc4f70">◆ </a></span>operator<<() <span class="overload">[30/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a6ed8dc0f587448d14a1a33cbd5fc4f70">◆ </a></span>operator<<() <span class="overload">[31/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -16954,7 +17901,7 @@
</table>
</div><div class="memdoc">
-<p>Formatted output of the <a class="el" href="classarm__compute_1_1_window_1_1_dimension.xhtml" title="Describe one of the image's dimensions with a start, end and step. ">Window::Dimension</a> type. </p>
+<p>Formatted output of the <a class="el" href="classarm__compute_1_1_window_1_1_dimension.xhtml" title="Describe one of the image's dimensions with a start, end and step.">Window::Dimension</a> type. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
@@ -16964,14 +17911,14 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01060">1060</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01078">1078</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> {</div><div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>  os << <span class="stringliteral">"{start="</span> << dim.start() << <span class="stringliteral">", end="</span> << dim.end() << <span class="stringliteral">", step="</span> << dim.step() << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l01081"></a><span class="lineno"> 1081</span> </div><div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01083"></a><span class="lineno"> 1083</span> }</div></div><!-- fragment -->
<p class="reference">References <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, and <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>.</p>
-<div class="fragment"><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>  os << <span class="stringliteral">"{start="</span> << dim.start() << <span class="stringliteral">", end="</span> << dim.end() << <span class="stringliteral">", step="</span> << dim.step() << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> </div><div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> }</div></div><!-- fragment -->
+
</div>
</div>
<a id="afc6e49991e36423027a467eab1e405b2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afc6e49991e36423027a467eab1e405b2">◆ </a></span>operator<<() <span class="overload">[31/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#afc6e49991e36423027a467eab1e405b2">◆ </a></span>operator<<() <span class="overload">[32/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -16996,7 +17943,7 @@
</table>
</div><div class="memdoc">
-<p>Formatted output of the <a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a> type. </p>
+<p>Formatted output of the <a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window.">Window</a> type. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
@@ -17006,14 +17953,14 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01073">1073</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01091">1091</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> {</div><div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>  os << <span class="stringliteral">"{"</span>;</div><div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>  <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < Coordinates::num_max_dimensions; i++)</div><div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>  {</div><div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>  <span class="keywordflow">if</span>(i > 0)</div><div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>  {</div><div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>  os << <span class="stringliteral">", "</span>;</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>  os << win[i];</div><div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>  }</div><div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>  os << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> </div><div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> }</div></div><!-- fragment -->
<p class="reference">References <a class="el" href="_dimensions_8h_source.xhtml#l00045">Dimensions< int >::num_max_dimensions</a>.</p>
-<div class="fragment"><div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> {</div><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>  os << <span class="stringliteral">"{"</span>;</div><div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>  <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < Coordinates::num_max_dimensions; i++)</div><div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>  {</div><div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>  <span class="keywordflow">if</span>(i > 0)</div><div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>  {</div><div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>  os << <span class="stringliteral">", "</span>;</div><div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>  }</div><div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>  os << win[i];</div><div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>  }</div><div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>  os << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> </div><div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> }</div></div><!-- fragment -->
+
</div>
</div>
<a id="a17881750c427aedd95deba46a4366ace"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a17881750c427aedd95deba46a4366ace">◆ </a></span>operator<<() <span class="overload">[32/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a17881750c427aedd95deba46a4366ace">◆ </a></span>operator<<() <span class="overload">[33/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -17038,7 +17985,7 @@
</table>
</div><div class="memdoc">
-<p>Formatted output of the <a class="el" href="structarm__compute_1_1_rectangle.xhtml" title="Rectangle type. ">Rectangle</a> type. </p>
+<p>Formatted output of the <a class="el" href="structarm__compute_1_1_rectangle.xhtml" title="Rectangle type.">Rectangle</a> type. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
@@ -17048,14 +17995,14 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01160">1160</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01178">1178</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><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>  os << rect.width << <span class="stringliteral">"x"</span> << rect.height;</div><div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>  os << <span class="stringliteral">"+"</span> << rect.x << <span class="stringliteral">"+"</span> << rect.y;</div><div class="line"><a name="l01182"></a><span class="lineno"> 1182</span> </div><div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01184"></a><span class="lineno"> 1184</span> }</div></div><!-- fragment -->
+<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00477">Rectangle::height</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00476">Rectangle::width</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00474">Rectangle::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00475">Rectangle::y</a>.</p>
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00458">Rectangle::height</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00457">Rectangle::width</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00455">Rectangle::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00456">Rectangle::y</a>.</p>
-<div class="fragment"><div class="line"><a name="l01161"></a><span class="lineno"> 1161</span> {</div><div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>  os << rect.width << <span class="stringliteral">"x"</span> << rect.height;</div><div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>  os << <span class="stringliteral">"+"</span> << rect.x << <span class="stringliteral">"+"</span> << rect.y;</div><div class="line"><a name="l01164"></a><span class="lineno"> 1164</span> </div><div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01166"></a><span class="lineno"> 1166</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a8af36ae3a3613112c3a95e57f606359a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8af36ae3a3613112c3a95e57f606359a">◆ </a></span>operator<<() <span class="overload">[33/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a8af36ae3a3613112c3a95e57f606359a">◆ </a></span>operator<<() <span class="overload">[34/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -17080,7 +18027,7 @@
</table>
</div><div class="memdoc">
-<p>Formatted output of the <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml" title="Padding and stride information class. ">PadStrideInfo</a> type. </p>
+<p>Formatted output of the <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml" title="Padding and stride information class.">PadStrideInfo</a> type. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
@@ -17090,14 +18037,14 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01175">1175</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01193">1193</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><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>  os << pad_stride_info.stride().first << <span class="stringliteral">","</span> << pad_stride_info.stride().second;</div><div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>  os << <span class="stringliteral">";"</span>;</div><div class="line"><a name="l01197"></a><span class="lineno"> 1197</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="l01198"></a><span class="lineno"> 1198</span>  << pad_stride_info.pad_top() << <span class="stringliteral">","</span> << pad_stride_info.pad_bottom();</div><div class="line"><a name="l01199"></a><span class="lineno"> 1199</span> </div><div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01201"></a><span class="lineno"> 1201</span> }</div></div><!-- fragment -->
+<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00810">PadStrideInfo::pad_bottom()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00795">PadStrideInfo::pad_left()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00800">PadStrideInfo::pad_right()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00805">PadStrideInfo::pad_top()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00769">PadStrideInfo::stride()</a>.</p>
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00774">PadStrideInfo::pad_bottom()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00759">PadStrideInfo::pad_left()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00764">PadStrideInfo::pad_right()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00769">PadStrideInfo::pad_top()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00733">PadStrideInfo::stride()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01176"></a><span class="lineno"> 1176</span> {</div><div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>  os << pad_stride_info.stride().first << <span class="stringliteral">","</span> << pad_stride_info.stride().second;</div><div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>  os << <span class="stringliteral">";"</span>;</div><div class="line"><a name="l01179"></a><span class="lineno"> 1179</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="l01180"></a><span class="lineno"> 1180</span>  << pad_stride_info.pad_top() << <span class="stringliteral">","</span> << pad_stride_info.pad_bottom();</div><div class="line"><a name="l01181"></a><span class="lineno"> 1181</span> </div><div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01183"></a><span class="lineno"> 1183</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a4287c6842a60e5f6bf309e55f8813527"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4287c6842a60e5f6bf309e55f8813527">◆ </a></span>operator<<() <span class="overload">[34/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a4287c6842a60e5f6bf309e55f8813527">◆ </a></span>operator<<() <span class="overload">[35/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -17132,16 +18079,65 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01270">1270</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">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="l01271"></a><span class="lineno"> 1271</span> {</div><div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>  <span class="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">policy</a>)</div><div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>  {</div><div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>  <span class="keywordflow">case</span> ConvertPolicy::WRAP:</div><div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>  os << <span class="stringliteral">"WRAP"</span>;</div><div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>  <span class="keywordflow">case</span> ConvertPolicy::SATURATE:</div><div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>  os << <span class="stringliteral">"SATURATE"</span>;</div><div class="line"><a name="l01279"></a><span class="lineno"> 1279</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01281"></a><span class="lineno"> 1281</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="l01282"></a><span class="lineno"> 1282</span>  }</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="keywordflow">return</span> os;</div><div class="line"><a name="l01285"></a><span class="lineno"> 1285</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#l00261">Error.h:261</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad986b73e9d5f47a623a9b6d773c25e34"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">arm_compute::test::validation::policy</a></div><div class="ttdeci">policy</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00175">ArithmeticSubtraction.cpp:175</a></div></div>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01301">1301</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01302"></a><span class="lineno"> 1302</span> {</div><div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>  <span class="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">policy</a>)</div><div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>  {</div><div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>  <span class="keywordflow">case</span> ConvertPolicy::WRAP:</div><div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>  os << <span class="stringliteral">"WRAP"</span>;</div><div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>  <span class="keywordflow">case</span> ConvertPolicy::SATURATE:</div><div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>  os << <span class="stringliteral">"SATURATE"</span>;</div><div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01312"></a><span class="lineno"> 1312</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="l01313"></a><span class="lineno"> 1313</span>  }</div><div class="line"><a name="l01314"></a><span class="lineno"> 1314</span> </div><div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01316"></a><span class="lineno"> 1316</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#l00261">Error.h:261</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad986b73e9d5f47a623a9b6d773c25e34"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">arm_compute::test::validation::policy</a></div><div class="ttdeci">policy</div><div class="ttdef"><b>Definition:</b> <a href="_cast_8cpp_source.xhtml#l00169">Cast.cpp:169</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="_cast_8cpp_source.xhtml#l00169">arm_compute::test::validation::policy</a>, <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86">SATURATE</a>, and <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0">WRAP</a>.</p>
+
+</div>
+</div>
+<a id="a7b94aeca99a5d6b1a5723014a01faac0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7b94aeca99a5d6b1a5723014a01faac0">◆ </a></span>operator<<() <span class="overload">[36/55]</span></h2>
+
+<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#a23d9f0c01c9e120dfb828ee922b7a8ae">ArithmeticOperation</a> & </td>
+ <td class="paramname"><em>op</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Formatted output of the ArithmeticOperation type. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">op</td><td>Operation to output.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01332">1332</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01333"></a><span class="lineno"> 1333</span> {</div><div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>  <span class="keywordflow">switch</span>(op)</div><div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>  {</div><div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>  <span class="keywordflow">case</span> <a class="code" href="elementwise__operation_8cl.xhtml#af3b709fb668cf93ca09e2a46a2a031a8">ArithmeticOperation::ADD</a>:</div><div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>  os << <span class="stringliteral">"ADD"</span>;</div><div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>  <span class="keywordflow">case</span> <a class="code" href="elementwise__operation_8cl.xhtml#aafc2c4f262a0686c07f86c7d2e1d8d14">ArithmeticOperation::SUB</a>:</div><div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>  os << <span class="stringliteral">"SUB"</span>;</div><div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>  <span class="keywordflow">case</span> <a class="code" href="elementwise__operation_8cl.xhtml#a49f6fecffd852cda3b0ece53dcbb2b87">ArithmeticOperation::DIV</a>:</div><div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>  os << <span class="stringliteral">"DIV"</span>;</div><div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01345"></a><span class="lineno"> 1345</span>  <span class="keywordflow">case</span> <a class="code" href="elementwise__operation_8cl.xhtml#aacc3ee1a7f283f8ef65cea31f4436a95">ArithmeticOperation::MAX</a>:</div><div class="line"><a name="l01346"></a><span class="lineno"> 1346</span>  os << <span class="stringliteral">"MAX"</span>;</div><div class="line"><a name="l01347"></a><span class="lineno"> 1347</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01348"></a><span class="lineno"> 1348</span>  <span class="keywordflow">case</span> <a class="code" href="elementwise__operation_8cl.xhtml#a74e75242132eaabbc1c512488a135926">ArithmeticOperation::MIN</a>:</div><div class="line"><a name="l01349"></a><span class="lineno"> 1349</span>  os << <span class="stringliteral">"MIN"</span>;</div><div class="line"><a name="l01350"></a><span class="lineno"> 1350</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01351"></a><span class="lineno"> 1351</span>  <span class="keywordflow">case</span> <a class="code" href="elementwise__operation_8cl.xhtml#ab05bd244cb8823c69d6dce6a23a758fd">ArithmeticOperation::SQUARED_DIFF</a>:</div><div class="line"><a name="l01352"></a><span class="lineno"> 1352</span>  os << <span class="stringliteral">"SQUARED_DIFF"</span>;</div><div class="line"><a name="l01353"></a><span class="lineno"> 1353</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01354"></a><span class="lineno"> 1354</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01355"></a><span class="lineno"> 1355</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="l01356"></a><span class="lineno"> 1356</span>  }</div><div class="line"><a name="l01357"></a><span class="lineno"> 1357</span> </div><div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01359"></a><span class="lineno"> 1359</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#l00261">Error.h:261</a></div></div>
+<div class="ttc" id="elementwise__operation_8cl_xhtml_af3b709fb668cf93ca09e2a46a2a031a8"><div class="ttname"><a href="elementwise__operation_8cl.xhtml#af3b709fb668cf93ca09e2a46a2a031a8">ADD</a></div><div class="ttdeci">#define ADD(x, y)</div><div class="ttdoc">List of all the operations supported by this kernel.</div><div class="ttdef"><b>Definition:</b> <a href="elementwise__operation_8cl_source.xhtml#l00032">elementwise_operation.cl:32</a></div></div>
+<div class="ttc" id="elementwise__operation_8cl_xhtml_a74e75242132eaabbc1c512488a135926"><div class="ttname"><a href="elementwise__operation_8cl.xhtml#a74e75242132eaabbc1c512488a135926">MIN</a></div><div class="ttdeci">#define MIN(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="elementwise__operation_8cl_source.xhtml#l00037">elementwise_operation.cl:37</a></div></div>
+<div class="ttc" id="elementwise__operation_8cl_xhtml_aafc2c4f262a0686c07f86c7d2e1d8d14"><div class="ttname"><a href="elementwise__operation_8cl.xhtml#aafc2c4f262a0686c07f86c7d2e1d8d14">SUB</a></div><div class="ttdeci">#define SUB(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="elementwise__operation_8cl_source.xhtml#l00033">elementwise_operation.cl:33</a></div></div>
+<div class="ttc" id="elementwise__operation_8cl_xhtml_a49f6fecffd852cda3b0ece53dcbb2b87"><div class="ttname"><a href="elementwise__operation_8cl.xhtml#a49f6fecffd852cda3b0ece53dcbb2b87">DIV</a></div><div class="ttdeci">#define DIV(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="elementwise__operation_8cl_source.xhtml#l00039">elementwise_operation.cl:39</a></div></div>
+<div class="ttc" id="elementwise__operation_8cl_xhtml_aacc3ee1a7f283f8ef65cea31f4436a95"><div class="ttname"><a href="elementwise__operation_8cl.xhtml#aacc3ee1a7f283f8ef65cea31f4436a95">MAX</a></div><div class="ttdeci">#define MAX(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="elementwise__operation_8cl_source.xhtml#l00036">elementwise_operation.cl:36</a></div></div>
+<div class="ttc" id="elementwise__operation_8cl_xhtml_ab05bd244cb8823c69d6dce6a23a758fd"><div class="ttname"><a href="elementwise__operation_8cl.xhtml#ab05bd244cb8823c69d6dce6a23a758fd">SQUARED_DIFF</a></div><div class="ttdeci">#define SQUARED_DIFF(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="elementwise__operation_8cl_source.xhtml#l00038">elementwise_operation.cl:38</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#a23d9f0c01c9e120dfb828ee922b7a8aea9eeb52badb613229884838847294b90d">ADD</a>, <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a23d9f0c01c9e120dfb828ee922b7a8aea29bbf66f7f8529ec47e394fb5a36c646">DIV</a>, <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a>, <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653">MIN</a>, <a class="el" href="namespacearm__compute.xhtml#a23d9f0c01c9e120dfb828ee922b7a8aea46ea186b87dc545033d86ba8d6e63916">SQUARED_DIFF</a>, and <a class="el" href="namespacearm__compute.xhtml#a23d9f0c01c9e120dfb828ee922b7a8aea241dd841abade20fcb27b8a9f494e1eb">SUB</a>.</p>
+
</div>
</div>
<a id="a292505a0ec686541cfe0dcfd1d651ec5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a292505a0ec686541cfe0dcfd1d651ec5">◆ </a></span>operator<<() <span class="overload">[35/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a292505a0ec686541cfe0dcfd1d651ec5">◆ </a></span>operator<<() <span class="overload">[37/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -17176,15 +18172,101 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01301">1301</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45bafc54513dae613e117ffc4169e48bfce5">MEAN_SUM</a>, <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a">SUM</a>, and <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64">SUM_SQUARE</a>.</p>
-<div class="fragment"><div class="line"><a name="l01302"></a><span class="lineno"> 1302</span> {</div><div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>  <span class="keywordflow">switch</span>(op)</div><div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>  {</div><div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>  <span class="keywordflow">case</span> ReductionOperation::SUM:</div><div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>  os << <span class="stringliteral">"SUM"</span>;</div><div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>  <span class="keywordflow">case</span> ReductionOperation::SUM_SQUARE:</div><div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>  os << <span class="stringliteral">"SUM_SQUARE"</span>;</div><div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>  <span class="keywordflow">case</span> ReductionOperation::MEAN_SUM:</div><div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>  os << <span class="stringliteral">"MEAN_SUM"</span>;</div><div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01315"></a><span class="lineno"> 1315</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="l01316"></a><span class="lineno"> 1316</span>  }</div><div class="line"><a name="l01317"></a><span class="lineno"> 1317</span> </div><div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01319"></a><span class="lineno"> 1319</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#l00261">Error.h:261</a></div></div>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01381">1381</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01382"></a><span class="lineno"> 1382</span> {</div><div class="line"><a name="l01383"></a><span class="lineno"> 1383</span>  <span class="keywordflow">switch</span>(op)</div><div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>  {</div><div class="line"><a name="l01385"></a><span class="lineno"> 1385</span>  <span class="keywordflow">case</span> ReductionOperation::SUM:</div><div class="line"><a name="l01386"></a><span class="lineno"> 1386</span>  os << <span class="stringliteral">"SUM"</span>;</div><div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>  <span class="keywordflow">case</span> ReductionOperation::SUM_SQUARE:</div><div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>  os << <span class="stringliteral">"SUM_SQUARE"</span>;</div><div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>  <span class="keywordflow">case</span> ReductionOperation::MEAN_SUM:</div><div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>  os << <span class="stringliteral">"MEAN_SUM"</span>;</div><div class="line"><a name="l01393"></a><span class="lineno"> 1393</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01394"></a><span class="lineno"> 1394</span>  <span class="keywordflow">case</span> ReductionOperation::ARG_IDX_MAX:</div><div class="line"><a name="l01395"></a><span class="lineno"> 1395</span>  os << <span class="stringliteral">"ARG_IDX_MAX"</span>;</div><div class="line"><a name="l01396"></a><span class="lineno"> 1396</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>  <span class="keywordflow">case</span> ReductionOperation::ARG_IDX_MIN:</div><div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>  os << <span class="stringliteral">"ARG_IDX_MIN"</span>;</div><div class="line"><a name="l01399"></a><span class="lineno"> 1399</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01400"></a><span class="lineno"> 1400</span>  <span class="keywordflow">case</span> ReductionOperation::PROD:</div><div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>  os << <span class="stringliteral">"PROD"</span>;</div><div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01404"></a><span class="lineno"> 1404</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="l01405"></a><span class="lineno"> 1405</span>  }</div><div class="line"><a name="l01406"></a><span class="lineno"> 1406</span> </div><div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01408"></a><span class="lineno"> 1408</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#l00261">Error.h:261</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba654fed6e9b6c154d04bcaa439e32d0d5">ARG_IDX_MAX</a>, <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba39102811589b9a0d7a6aa8721663b4d1">ARG_IDX_MIN</a>, <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45bafc54513dae613e117ffc4169e48bfce5">MEAN_SUM</a>, <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45bac8074bb318fb85693233e64acc64c1ed">PROD</a>, <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a">SUM</a>, and <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64">SUM_SQUARE</a>.</p>
+
+</div>
+</div>
+<a id="aac34f5e54ad35f26328f8706b3d28b43"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aac34f5e54ad35f26328f8706b3d28b43">◆ </a></span>operator<<() <span class="overload">[38/55]</span></h2>
+
+<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#a2d299363c9fc33334c571fa29ca4f58c">ComparisonOperation</a> & </td>
+ <td class="paramname"><em>op</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Formatted output of the Comparison Operations. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">op</td><td>Type to output.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01430">1430</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01431"></a><span class="lineno"> 1431</span> {</div><div class="line"><a name="l01432"></a><span class="lineno"> 1432</span>  <span class="keywordflow">switch</span>(op)</div><div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>  {</div><div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>  <span class="keywordflow">case</span> ComparisonOperation::Equal:</div><div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>  os << <span class="stringliteral">"Equal"</span>;</div><div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>  <span class="keywordflow">case</span> ComparisonOperation::NotEqual:</div><div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>  os << <span class="stringliteral">"NotEqual"</span>;</div><div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01440"></a><span class="lineno"> 1440</span>  <span class="keywordflow">case</span> ComparisonOperation::Greater:</div><div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>  os << <span class="stringliteral">"Greater"</span>;</div><div class="line"><a name="l01442"></a><span class="lineno"> 1442</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01443"></a><span class="lineno"> 1443</span>  <span class="keywordflow">case</span> ComparisonOperation::GreaterEqual:</div><div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>  os << <span class="stringliteral">"GreaterEqual"</span>;</div><div class="line"><a name="l01445"></a><span class="lineno"> 1445</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01446"></a><span class="lineno"> 1446</span>  <span class="keywordflow">case</span> ComparisonOperation::Less:</div><div class="line"><a name="l01447"></a><span class="lineno"> 1447</span>  os << <span class="stringliteral">"Less"</span>;</div><div class="line"><a name="l01448"></a><span class="lineno"> 1448</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01449"></a><span class="lineno"> 1449</span>  <span class="keywordflow">case</span> ComparisonOperation::LessEqual:</div><div class="line"><a name="l01450"></a><span class="lineno"> 1450</span>  os << <span class="stringliteral">"LessEqual"</span>;</div><div class="line"><a name="l01451"></a><span class="lineno"> 1451</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01452"></a><span class="lineno"> 1452</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01453"></a><span class="lineno"> 1453</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="l01454"></a><span class="lineno"> 1454</span>  }</div><div class="line"><a name="l01455"></a><span class="lineno"> 1455</span> </div><div class="line"><a name="l01456"></a><span class="lineno"> 1456</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01457"></a><span class="lineno"> 1457</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#l00261">Error.h:261</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58caf5f286e73bda105e538310b3190f75c5">Equal</a>, <a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca8768a6821cd735aea4f5b0df88c1fc6a">Greater</a>, <a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca758b05d899def79c9eb864ad4f96be1f">GreaterEqual</a>, <a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca1cfdf0e8d0c87a228c1f40d9bee7888b">Less</a>, <a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58cad3e6fdac55bb7b0edd7834c968ba1f38">LessEqual</a>, and <a class="el" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca19bb0af2c3c530538cb41aff7f235b96">NotEqual</a>.</p>
+
+</div>
+</div>
+<a id="accfc6f2e5fb354e1fb19a7067b6efdec"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#accfc6f2e5fb354e1fb19a7067b6efdec">◆ </a></span>operator<<() <span class="overload">[39/55]</span></h2>
+
+<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#a5dad01b7eab116403241313417e0936d">ElementWiseUnary</a> & </td>
+ <td class="paramname"><em>op</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Formatted output of the Elementwise unary Operations. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">op</td><td>Type to output.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01466">1466</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01467"></a><span class="lineno"> 1467</span> {</div><div class="line"><a name="l01468"></a><span class="lineno"> 1468</span>  <span class="keywordflow">switch</span>(op)</div><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="keywordflow">case</span> ElementWiseUnary::RSQRT:</div><div class="line"><a name="l01471"></a><span class="lineno"> 1471</span>  os << <span class="stringliteral">"RSQRT"</span>;</div><div class="line"><a name="l01472"></a><span class="lineno"> 1472</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01473"></a><span class="lineno"> 1473</span>  <span class="keywordflow">case</span> ElementWiseUnary::EXP:</div><div class="line"><a name="l01474"></a><span class="lineno"> 1474</span>  os << <span class="stringliteral">"EXP"</span>;</div><div class="line"><a name="l01475"></a><span class="lineno"> 1475</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01476"></a><span class="lineno"> 1476</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01477"></a><span class="lineno"> 1477</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="l01478"></a><span class="lineno"> 1478</span>  }</div><div class="line"><a name="l01479"></a><span class="lineno"> 1479</span> </div><div class="line"><a name="l01480"></a><span class="lineno"> 1480</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01481"></a><span class="lineno"> 1481</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#l00261">Error.h:261</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936da8c670f8c37b95e1ed14a0ce414b049c7">EXP</a>, and <a class="el" href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936da66bac724670f51e77f3688d33ca0d781">RSQRT</a>.</p>
+
</div>
</div>
<a id="a9a2e48a508dc85b7280f955876bb4462"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9a2e48a508dc85b7280f955876bb4462">◆ </a></span>operator<<() <span class="overload">[36/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a9a2e48a508dc85b7280f955876bb4462">◆ </a></span>operator<<() <span class="overload">[40/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -17209,7 +18291,7 @@
</table>
</div><div class="memdoc">
-<p>Formatted output of the <a class="el" href="structarm__compute_1_1_key_point.xhtml" title="Keypoint type. ">KeyPoint</a> type. </p>
+<p>Formatted output of the <a class="el" href="structarm__compute_1_1_key_point.xhtml" title="Keypoint type.">KeyPoint</a> type. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
@@ -17219,14 +18301,14 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01412">1412</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01587">1587</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01588"></a><span class="lineno"> 1588</span> {</div><div class="line"><a name="l01589"></a><span class="lineno"> 1589</span>  os << <span class="stringliteral">"{x="</span> << point.x << <span class="stringliteral">","</span></div><div class="line"><a name="l01590"></a><span class="lineno"> 1590</span>  << <span class="stringliteral">"y="</span> << point.y << <span class="stringliteral">","</span></div><div class="line"><a name="l01591"></a><span class="lineno"> 1591</span>  << <span class="stringliteral">"strength="</span> << point.strength << <span class="stringliteral">","</span></div><div class="line"><a name="l01592"></a><span class="lineno"> 1592</span>  << <span class="stringliteral">"scale="</span> << point.scale << <span class="stringliteral">","</span></div><div class="line"><a name="l01593"></a><span class="lineno"> 1593</span>  << <span class="stringliteral">"orientation="</span> << point.orientation << <span class="stringliteral">","</span></div><div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>  << <span class="stringliteral">"tracking_status="</span> << point.tracking_status << <span class="stringliteral">","</span></div><div class="line"><a name="l01595"></a><span class="lineno"> 1595</span>  << <span class="stringliteral">"error="</span> << point.error << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l01596"></a><span class="lineno"> 1596</span> </div><div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01598"></a><span class="lineno"> 1598</span> }</div></div><!-- fragment -->
+<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00465">KeyPoint::error</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00463">KeyPoint::orientation</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00462">KeyPoint::scale</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00461">KeyPoint::strength</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00464">KeyPoint::tracking_status</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00459">KeyPoint::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00460">KeyPoint::y</a>.</p>
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00446">KeyPoint::error</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00444">KeyPoint::orientation</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00443">KeyPoint::scale</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00442">KeyPoint::strength</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00445">KeyPoint::tracking_status</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00440">KeyPoint::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00441">KeyPoint::y</a>.</p>
-<div class="fragment"><div class="line"><a name="l01413"></a><span class="lineno"> 1413</span> {</div><div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>  os << <span class="stringliteral">"{x="</span> << point.x << <span class="stringliteral">","</span></div><div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>  << <span class="stringliteral">"y="</span> << point.y << <span class="stringliteral">","</span></div><div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>  << <span class="stringliteral">"strength="</span> << point.strength << <span class="stringliteral">","</span></div><div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>  << <span class="stringliteral">"scale="</span> << point.scale << <span class="stringliteral">","</span></div><div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>  << <span class="stringliteral">"orientation="</span> << point.orientation << <span class="stringliteral">","</span></div><div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>  << <span class="stringliteral">"tracking_status="</span> << point.tracking_status << <span class="stringliteral">","</span></div><div class="line"><a name="l01420"></a><span class="lineno"> 1420</span>  << <span class="stringliteral">"error="</span> << point.error << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l01421"></a><span class="lineno"> 1421</span> </div><div class="line"><a name="l01422"></a><span class="lineno"> 1422</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01423"></a><span class="lineno"> 1423</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="abe52a76af2aa88876d54ce8a5969e509"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#abe52a76af2aa88876d54ce8a5969e509">◆ </a></span>operator<<() <span class="overload">[37/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#abe52a76af2aa88876d54ce8a5969e509">◆ </a></span>operator<<() <span class="overload">[41/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -17261,15 +18343,15 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01432">1432</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">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="l01433"></a><span class="lineno"> 1433</span> {</div><div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>  <span class="keywordflow">switch</span>(phase_type)</div><div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>  {</div><div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>  <span class="keywordflow">case</span> PhaseType::SIGNED:</div><div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>  os << <span class="stringliteral">"SIGNED"</span>;</div><div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>  <span class="keywordflow">case</span> PhaseType::UNSIGNED:</div><div class="line"><a name="l01440"></a><span class="lineno"> 1440</span>  os << <span class="stringliteral">"UNSIGNED"</span>;</div><div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01442"></a><span class="lineno"> 1442</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01443"></a><span class="lineno"> 1443</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="l01444"></a><span class="lineno"> 1444</span>  }</div><div class="line"><a name="l01445"></a><span class="lineno"> 1445</span> </div><div class="line"><a name="l01446"></a><span class="lineno"> 1446</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01447"></a><span class="lineno"> 1447</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#l00261">Error.h:261</a></div></div>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01607">1607</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01608"></a><span class="lineno"> 1608</span> {</div><div class="line"><a name="l01609"></a><span class="lineno"> 1609</span>  <span class="keywordflow">switch</span>(phase_type)</div><div class="line"><a name="l01610"></a><span class="lineno"> 1610</span>  {</div><div class="line"><a name="l01611"></a><span class="lineno"> 1611</span>  <span class="keywordflow">case</span> PhaseType::SIGNED:</div><div class="line"><a name="l01612"></a><span class="lineno"> 1612</span>  os << <span class="stringliteral">"SIGNED"</span>;</div><div class="line"><a name="l01613"></a><span class="lineno"> 1613</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01614"></a><span class="lineno"> 1614</span>  <span class="keywordflow">case</span> PhaseType::UNSIGNED:</div><div class="line"><a name="l01615"></a><span class="lineno"> 1615</span>  os << <span class="stringliteral">"UNSIGNED"</span>;</div><div class="line"><a name="l01616"></a><span class="lineno"> 1616</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01617"></a><span class="lineno"> 1617</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01618"></a><span class="lineno"> 1618</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="l01619"></a><span class="lineno"> 1619</span>  }</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> os;</div><div class="line"><a name="l01622"></a><span class="lineno"> 1622</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#l00261">Error.h:261</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">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>
</div>
<a id="a530d86eec3dbd22cab6336ffdceb0d37"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a530d86eec3dbd22cab6336ffdceb0d37">◆ </a></span>operator<<() <span class="overload">[38/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a530d86eec3dbd22cab6336ffdceb0d37">◆ </a></span>operator<<() <span class="overload">[42/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -17304,15 +18386,15 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01469">1469</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">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="l01470"></a><span class="lineno"> 1470</span> {</div><div class="line"><a name="l01471"></a><span class="lineno"> 1471</span>  <span class="keywordflow">switch</span>(magnitude_type)</div><div class="line"><a name="l01472"></a><span class="lineno"> 1472</span>  {</div><div class="line"><a name="l01473"></a><span class="lineno"> 1473</span>  <span class="keywordflow">case</span> MagnitudeType::L1NORM:</div><div class="line"><a name="l01474"></a><span class="lineno"> 1474</span>  os << <span class="stringliteral">"L1NORM"</span>;</div><div class="line"><a name="l01475"></a><span class="lineno"> 1475</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01476"></a><span class="lineno"> 1476</span>  <span class="keywordflow">case</span> MagnitudeType::L2NORM:</div><div class="line"><a name="l01477"></a><span class="lineno"> 1477</span>  os << <span class="stringliteral">"L2NORM"</span>;</div><div class="line"><a name="l01478"></a><span class="lineno"> 1478</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01479"></a><span class="lineno"> 1479</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01480"></a><span class="lineno"> 1480</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="l01481"></a><span class="lineno"> 1481</span>  }</div><div class="line"><a name="l01482"></a><span class="lineno"> 1482</span> </div><div class="line"><a name="l01483"></a><span class="lineno"> 1483</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01484"></a><span class="lineno"> 1484</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#l00261">Error.h:261</a></div></div>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01644">1644</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><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="keywordflow">switch</span>(magnitude_type)</div><div class="line"><a name="l01647"></a><span class="lineno"> 1647</span>  {</div><div class="line"><a name="l01648"></a><span class="lineno"> 1648</span>  <span class="keywordflow">case</span> MagnitudeType::L1NORM:</div><div class="line"><a name="l01649"></a><span class="lineno"> 1649</span>  os << <span class="stringliteral">"L1NORM"</span>;</div><div class="line"><a name="l01650"></a><span class="lineno"> 1650</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01651"></a><span class="lineno"> 1651</span>  <span class="keywordflow">case</span> MagnitudeType::L2NORM:</div><div class="line"><a name="l01652"></a><span class="lineno"> 1652</span>  os << <span class="stringliteral">"L2NORM"</span>;</div><div class="line"><a name="l01653"></a><span class="lineno"> 1653</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01654"></a><span class="lineno"> 1654</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01655"></a><span class="lineno"> 1655</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="l01656"></a><span class="lineno"> 1656</span>  }</div><div class="line"><a name="l01657"></a><span class="lineno"> 1657</span> </div><div class="line"><a name="l01658"></a><span class="lineno"> 1658</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01659"></a><span class="lineno"> 1659</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#l00261">Error.h:261</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">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>
</div>
<a id="a5e7a61df2b926347b42ecadf8bcc8969"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5e7a61df2b926347b42ecadf8bcc8969">◆ </a></span>operator<<() <span class="overload">[39/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a5e7a61df2b926347b42ecadf8bcc8969">◆ </a></span>operator<<() <span class="overload">[43/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -17347,15 +18429,15 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01506">1506</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa">L1_NORM</a>, <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5">L2_NORM</a>, and <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">L2HYS_NORM</a>.</p>
-<div class="fragment"><div class="line"><a name="l01507"></a><span class="lineno"> 1507</span> {</div><div class="line"><a name="l01508"></a><span class="lineno"> 1508</span>  <span class="keywordflow">switch</span>(norm_type)</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="keywordflow">case</span> HOGNormType::L1_NORM:</div><div class="line"><a name="l01511"></a><span class="lineno"> 1511</span>  os << <span class="stringliteral">"L1_NORM"</span>;</div><div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01513"></a><span class="lineno"> 1513</span>  <span class="keywordflow">case</span> HOGNormType::L2_NORM:</div><div class="line"><a name="l01514"></a><span class="lineno"> 1514</span>  os << <span class="stringliteral">"L2_NORM"</span>;</div><div class="line"><a name="l01515"></a><span class="lineno"> 1515</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01516"></a><span class="lineno"> 1516</span>  <span class="keywordflow">case</span> HOGNormType::L2HYS_NORM:</div><div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>  os << <span class="stringliteral">"L2HYS_NORM"</span>;</div><div class="line"><a name="l01518"></a><span class="lineno"> 1518</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01519"></a><span class="lineno"> 1519</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01520"></a><span class="lineno"> 1520</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="l01521"></a><span class="lineno"> 1521</span>  }</div><div class="line"><a name="l01522"></a><span class="lineno"> 1522</span> </div><div class="line"><a name="l01523"></a><span class="lineno"> 1523</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01524"></a><span class="lineno"> 1524</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#l00261">Error.h:261</a></div></div>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01681">1681</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01682"></a><span class="lineno"> 1682</span> {</div><div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>  <span class="keywordflow">switch</span>(norm_type)</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="keywordflow">case</span> HOGNormType::L1_NORM:</div><div class="line"><a name="l01686"></a><span class="lineno"> 1686</span>  os << <span class="stringliteral">"L1_NORM"</span>;</div><div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>  <span class="keywordflow">case</span> HOGNormType::L2_NORM:</div><div class="line"><a name="l01689"></a><span class="lineno"> 1689</span>  os << <span class="stringliteral">"L2_NORM"</span>;</div><div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>  <span class="keywordflow">case</span> HOGNormType::L2HYS_NORM:</div><div class="line"><a name="l01692"></a><span class="lineno"> 1692</span>  os << <span class="stringliteral">"L2HYS_NORM"</span>;</div><div class="line"><a name="l01693"></a><span class="lineno"> 1693</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01694"></a><span class="lineno"> 1694</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01695"></a><span class="lineno"> 1695</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="l01696"></a><span class="lineno"> 1696</span>  }</div><div class="line"><a name="l01697"></a><span class="lineno"> 1697</span> </div><div class="line"><a name="l01698"></a><span class="lineno"> 1698</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01699"></a><span class="lineno"> 1699</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#l00261">Error.h:261</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa">L1_NORM</a>, <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5">L2_NORM</a>, and <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">L2HYS_NORM</a>.</p>
+
</div>
</div>
<a id="ab91d110e020f6ed987e05e82df3e350b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab91d110e020f6ed987e05e82df3e350b">◆ </a></span>operator<<() <span class="overload">[40/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#ab91d110e020f6ed987e05e82df3e350b">◆ </a></span>operator<<() <span class="overload">[44/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -17380,7 +18462,7 @@
</table>
</div><div class="memdoc">
-<p>Formatted output of the <a class="el" href="classarm__compute_1_1_size2_d.xhtml" title="Class for specifying the size of an image or rectangle. ">Size2D</a> type. </p>
+<p>Formatted output of the <a class="el" href="classarm__compute_1_1_size2_d.xhtml" title="Class for specifying the size of an image or rectangle.">Size2D</a> type. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
@@ -17390,14 +18472,14 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01546">1546</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01721">1721</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01722"></a><span class="lineno"> 1722</span> {</div><div class="line"><a name="l01723"></a><span class="lineno"> 1723</span>  os << size.width << <span class="stringliteral">"x"</span> << size.height;</div><div class="line"><a name="l01724"></a><span class="lineno"> 1724</span> </div><div class="line"><a name="l01725"></a><span class="lineno"> 1725</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01726"></a><span class="lineno"> 1726</span> }</div></div><!-- fragment -->
<p class="reference">References <a class="el" href="_size2_d_8h_source.xhtml#l00093">Size2D::height</a>, and <a class="el" href="_size2_d_8h_source.xhtml#l00092">Size2D::width</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>  os << size.width << <span class="stringliteral">"x"</span> << size.height;</div><div class="line"><a name="l01549"></a><span class="lineno"> 1549</span> </div><div class="line"><a name="l01550"></a><span class="lineno"> 1550</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01551"></a><span class="lineno"> 1551</span> }</div></div><!-- fragment -->
+
</div>
</div>
<a id="a4228b490e13b79a60737929d9d9e5957"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4228b490e13b79a60737929d9d9e5957">◆ </a></span>operator<<() <span class="overload">[41/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a4228b490e13b79a60737929d9d9e5957">◆ </a></span>operator<<() <span class="overload">[45/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -17422,7 +18504,7 @@
</table>
</div><div class="memdoc">
-<p>Formatted output of the <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml" title="Store the HOG's metadata. ">HOGInfo</a> type. </p>
+<p>Formatted output of the <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml" title="Store the HOG's metadata.">HOGInfo</a> type. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
@@ -17432,14 +18514,14 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01573">1573</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01748">1748</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01749"></a><span class="lineno"> 1749</span> {</div><div class="line"><a name="l01750"></a><span class="lineno"> 1750</span>  os << <span class="stringliteral">"{CellSize="</span> << hog_info.cell_size() << <span class="stringliteral">","</span></div><div class="line"><a name="l01751"></a><span class="lineno"> 1751</span>  << <span class="stringliteral">"BlockSize="</span> << hog_info.block_size() << <span class="stringliteral">","</span></div><div class="line"><a name="l01752"></a><span class="lineno"> 1752</span>  << <span class="stringliteral">"DetectionWindowSize="</span> << hog_info.detection_window_size() << <span class="stringliteral">","</span></div><div class="line"><a name="l01753"></a><span class="lineno"> 1753</span>  << <span class="stringliteral">"BlockStride="</span> << hog_info.block_stride() << <span class="stringliteral">","</span></div><div class="line"><a name="l01754"></a><span class="lineno"> 1754</span>  << <span class="stringliteral">"NumBins="</span> << hog_info.num_bins() << <span class="stringliteral">","</span></div><div class="line"><a name="l01755"></a><span class="lineno"> 1755</span>  << <span class="stringliteral">"NormType="</span> << hog_info.normalization_type() << <span class="stringliteral">","</span></div><div class="line"><a name="l01756"></a><span class="lineno"> 1756</span>  << <span class="stringliteral">"L2HystThreshold="</span> << hog_info.l2_hyst_threshold() << <span class="stringliteral">","</span></div><div class="line"><a name="l01757"></a><span class="lineno"> 1757</span>  << <span class="stringliteral">"PhaseType="</span> << hog_info.phase_type() << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l01758"></a><span class="lineno"> 1758</span> </div><div class="line"><a name="l01759"></a><span class="lineno"> 1759</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01760"></a><span class="lineno"> 1760</span> }</div></div><!-- fragment -->
<p class="reference">References <a class="el" href="_h_o_g_info_8cpp_source.xhtml#l00096">HOGInfo::block_size()</a>, <a class="el" href="_h_o_g_info_8cpp_source.xhtml#l00106">HOGInfo::block_stride()</a>, <a class="el" href="_h_o_g_info_8cpp_source.xhtml#l00091">HOGInfo::cell_size()</a>, <a class="el" href="_h_o_g_info_8cpp_source.xhtml#l00101">HOGInfo::detection_window_size()</a>, <a class="el" href="_h_o_g_info_8cpp_source.xhtml#l00121">HOGInfo::l2_hyst_threshold()</a>, <a class="el" href="_h_o_g_info_8cpp_source.xhtml#l00116">HOGInfo::normalization_type()</a>, <a class="el" href="_h_o_g_info_8cpp_source.xhtml#l00111">HOGInfo::num_bins()</a>, and <a class="el" href="_h_o_g_info_8cpp_source.xhtml#l00126">HOGInfo::phase_type()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01574"></a><span class="lineno"> 1574</span> {</div><div class="line"><a name="l01575"></a><span class="lineno"> 1575</span>  os << <span class="stringliteral">"{CellSize="</span> << hog_info.cell_size() << <span class="stringliteral">","</span></div><div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>  << <span class="stringliteral">"BlockSize="</span> << hog_info.block_size() << <span class="stringliteral">","</span></div><div class="line"><a name="l01577"></a><span class="lineno"> 1577</span>  << <span class="stringliteral">"DetectionWindowSize="</span> << hog_info.detection_window_size() << <span class="stringliteral">","</span></div><div class="line"><a name="l01578"></a><span class="lineno"> 1578</span>  << <span class="stringliteral">"BlockStride="</span> << hog_info.block_stride() << <span class="stringliteral">","</span></div><div class="line"><a name="l01579"></a><span class="lineno"> 1579</span>  << <span class="stringliteral">"NumBins="</span> << hog_info.num_bins() << <span class="stringliteral">","</span></div><div class="line"><a name="l01580"></a><span class="lineno"> 1580</span>  << <span class="stringliteral">"NormType="</span> << hog_info.normalization_type() << <span class="stringliteral">","</span></div><div class="line"><a name="l01581"></a><span class="lineno"> 1581</span>  << <span class="stringliteral">"L2HystThreshold="</span> << hog_info.l2_hyst_threshold() << <span class="stringliteral">","</span></div><div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>  << <span class="stringliteral">"PhaseType="</span> << hog_info.phase_type() << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l01583"></a><span class="lineno"> 1583</span> </div><div class="line"><a name="l01584"></a><span class="lineno"> 1584</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01585"></a><span class="lineno"> 1585</span> }</div></div><!-- fragment -->
+
</div>
</div>
<a id="abd35c1c3fb716078b1f4a25981defac4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#abd35c1c3fb716078b1f4a25981defac4">◆ </a></span>operator<<() <span class="overload">[42/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#abd35c1c3fb716078b1f4a25981defac4">◆ </a></span>operator<<() <span class="overload">[46/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -17474,15 +18556,15 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01607">1607</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da4c5d06b02c97731aaa976179c62dcf76">DIRECT</a>, <a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da5174aac3927faa9ee34befb7fc87a9e3">GEMM</a>, and <a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da9d024a5762b3a992dec7eb3c49d17ae8">WINOGRAD</a>.</p>
-<div class="fragment"><div class="line"><a name="l01608"></a><span class="lineno"> 1608</span> {</div><div class="line"><a name="l01609"></a><span class="lineno"> 1609</span>  <span class="keywordflow">switch</span>(conv_method)</div><div class="line"><a name="l01610"></a><span class="lineno"> 1610</span>  {</div><div class="line"><a name="l01611"></a><span class="lineno"> 1611</span>  <span class="keywordflow">case</span> ConvolutionMethod::GEMM:</div><div class="line"><a name="l01612"></a><span class="lineno"> 1612</span>  os << <span class="stringliteral">"GEMM"</span>;</div><div class="line"><a name="l01613"></a><span class="lineno"> 1613</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01614"></a><span class="lineno"> 1614</span>  <span class="keywordflow">case</span> ConvolutionMethod::DIRECT:</div><div class="line"><a name="l01615"></a><span class="lineno"> 1615</span>  os << <span class="stringliteral">"DIRECT"</span>;</div><div class="line"><a name="l01616"></a><span class="lineno"> 1616</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01617"></a><span class="lineno"> 1617</span>  <span class="keywordflow">case</span> ConvolutionMethod::WINOGRAD:</div><div class="line"><a name="l01618"></a><span class="lineno"> 1618</span>  os << <span class="stringliteral">"WINOGRAD"</span>;</div><div class="line"><a name="l01619"></a><span class="lineno"> 1619</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01620"></a><span class="lineno"> 1620</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01621"></a><span class="lineno"> 1621</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="l01622"></a><span class="lineno"> 1622</span>  }</div><div class="line"><a name="l01623"></a><span class="lineno"> 1623</span> </div><div class="line"><a name="l01624"></a><span class="lineno"> 1624</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01625"></a><span class="lineno"> 1625</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#l00261">Error.h:261</a></div></div>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01782">1782</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01783"></a><span class="lineno"> 1783</span> {</div><div class="line"><a name="l01784"></a><span class="lineno"> 1784</span>  <span class="keywordflow">switch</span>(conv_method)</div><div class="line"><a name="l01785"></a><span class="lineno"> 1785</span>  {</div><div class="line"><a name="l01786"></a><span class="lineno"> 1786</span>  <span class="keywordflow">case</span> ConvolutionMethod::GEMM:</div><div class="line"><a name="l01787"></a><span class="lineno"> 1787</span>  os << <span class="stringliteral">"GEMM"</span>;</div><div class="line"><a name="l01788"></a><span class="lineno"> 1788</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01789"></a><span class="lineno"> 1789</span>  <span class="keywordflow">case</span> ConvolutionMethod::DIRECT:</div><div class="line"><a name="l01790"></a><span class="lineno"> 1790</span>  os << <span class="stringliteral">"DIRECT"</span>;</div><div class="line"><a name="l01791"></a><span class="lineno"> 1791</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01792"></a><span class="lineno"> 1792</span>  <span class="keywordflow">case</span> ConvolutionMethod::WINOGRAD:</div><div class="line"><a name="l01793"></a><span class="lineno"> 1793</span>  os << <span class="stringliteral">"WINOGRAD"</span>;</div><div class="line"><a name="l01794"></a><span class="lineno"> 1794</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01795"></a><span class="lineno"> 1795</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01796"></a><span class="lineno"> 1796</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="l01797"></a><span class="lineno"> 1797</span>  }</div><div class="line"><a name="l01798"></a><span class="lineno"> 1798</span> </div><div class="line"><a name="l01799"></a><span class="lineno"> 1799</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01800"></a><span class="lineno"> 1800</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#l00261">Error.h:261</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da4c5d06b02c97731aaa976179c62dcf76">DIRECT</a>, <a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da5174aac3927faa9ee34befb7fc87a9e3">GEMM</a>, and <a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da9d024a5762b3a992dec7eb3c49d17ae8">WINOGRAD</a>.</p>
+
</div>
</div>
<a id="a1f4d95d65a62a085e929ab0a1a77add2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1f4d95d65a62a085e929ab0a1a77add2">◆ </a></span>operator<<() <span class="overload">[43/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a1f4d95d65a62a085e929ab0a1a77add2">◆ </a></span>operator<<() <span class="overload">[47/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -17517,15 +18599,15 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01647">1647</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa78cc0fd1cab24af0fad71dc4c256f8e">BIFROST</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a0a2d4856ae75ec5a7b78851f6e5875f0">G51</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afc99dd3bc5650c5116886eefd3d18988">G51BIG</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a9d0acedfece9dfaf5cc3e63bfbeecf2f">G51LIT</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a79515d904f73cf1711207de1b2aa6ac6">G71</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3ab2ac2aea42c95ccc70260ceeb02ec4fc">G72</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa46ce37da51477a1af33a8810e0ed04d">G76</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a57a3b40730a5af7ea3e13eb4bba56d82">GPU_ARCH_MASK</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38">MIDGARD</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a6855a4342969d2b58c96d95385d6e673">T600</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd">T700</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048">T800</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a53e518b6393904e797819c7a941f9ddc">TBOX</a>, and <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3ab39f7e42574174cf9ee7da726bdb13b4">TTRX</a>.</p>
-<div class="fragment"><div class="line"><a name="l01648"></a><span class="lineno"> 1648</span> {</div><div class="line"><a name="l01649"></a><span class="lineno"> 1649</span>  <span class="keywordflow">switch</span>(gpu_target)</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="keywordflow">case</span> GPUTarget::GPU_ARCH_MASK:</div><div class="line"><a name="l01652"></a><span class="lineno"> 1652</span>  os << <span class="stringliteral">"GPU_ARCH_MASK"</span>;</div><div class="line"><a name="l01653"></a><span class="lineno"> 1653</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01654"></a><span class="lineno"> 1654</span>  <span class="keywordflow">case</span> GPUTarget::MIDGARD:</div><div class="line"><a name="l01655"></a><span class="lineno"> 1655</span>  os << <span class="stringliteral">"MIDGARD"</span>;</div><div class="line"><a name="l01656"></a><span class="lineno"> 1656</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01657"></a><span class="lineno"> 1657</span>  <span class="keywordflow">case</span> GPUTarget::BIFROST:</div><div class="line"><a name="l01658"></a><span class="lineno"> 1658</span>  os << <span class="stringliteral">"BIFROST"</span>;</div><div class="line"><a name="l01659"></a><span class="lineno"> 1659</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01660"></a><span class="lineno"> 1660</span>  <span class="keywordflow">case</span> GPUTarget::T600:</div><div class="line"><a name="l01661"></a><span class="lineno"> 1661</span>  os << <span class="stringliteral">"T600"</span>;</div><div class="line"><a name="l01662"></a><span class="lineno"> 1662</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01663"></a><span class="lineno"> 1663</span>  <span class="keywordflow">case</span> GPUTarget::T700:</div><div class="line"><a name="l01664"></a><span class="lineno"> 1664</span>  os << <span class="stringliteral">"T700"</span>;</div><div class="line"><a name="l01665"></a><span class="lineno"> 1665</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01666"></a><span class="lineno"> 1666</span>  <span class="keywordflow">case</span> GPUTarget::T800:</div><div class="line"><a name="l01667"></a><span class="lineno"> 1667</span>  os << <span class="stringliteral">"T800"</span>;</div><div class="line"><a name="l01668"></a><span class="lineno"> 1668</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01669"></a><span class="lineno"> 1669</span>  <span class="keywordflow">case</span> GPUTarget::G71:</div><div class="line"><a name="l01670"></a><span class="lineno"> 1670</span>  os << <span class="stringliteral">"G71"</span>;</div><div class="line"><a name="l01671"></a><span class="lineno"> 1671</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01672"></a><span class="lineno"> 1672</span>  <span class="keywordflow">case</span> GPUTarget::G72:</div><div class="line"><a name="l01673"></a><span class="lineno"> 1673</span>  os << <span class="stringliteral">"G72"</span>;</div><div class="line"><a name="l01674"></a><span class="lineno"> 1674</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01675"></a><span class="lineno"> 1675</span>  <span class="keywordflow">case</span> GPUTarget::G51:</div><div class="line"><a name="l01676"></a><span class="lineno"> 1676</span>  os << <span class="stringliteral">"G51"</span>;</div><div class="line"><a name="l01677"></a><span class="lineno"> 1677</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01678"></a><span class="lineno"> 1678</span>  <span class="keywordflow">case</span> GPUTarget::G51BIG:</div><div class="line"><a name="l01679"></a><span class="lineno"> 1679</span>  os << <span class="stringliteral">"G51BIG"</span>;</div><div class="line"><a name="l01680"></a><span class="lineno"> 1680</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01681"></a><span class="lineno"> 1681</span>  <span class="keywordflow">case</span> GPUTarget::G51LIT:</div><div class="line"><a name="l01682"></a><span class="lineno"> 1682</span>  os << <span class="stringliteral">"G51LIT"</span>;</div><div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01684"></a><span class="lineno"> 1684</span>  <span class="keywordflow">case</span> GPUTarget::G76:</div><div class="line"><a name="l01685"></a><span class="lineno"> 1685</span>  os << <span class="stringliteral">"G76"</span>;</div><div class="line"><a name="l01686"></a><span class="lineno"> 1686</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>  <span class="keywordflow">case</span> GPUTarget::TTRX:</div><div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>  os << <span class="stringliteral">"TTRX"</span>;</div><div class="line"><a name="l01689"></a><span class="lineno"> 1689</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>  <span class="keywordflow">case</span> GPUTarget::TBOX:</div><div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>  os << <span class="stringliteral">"TBOX"</span>;</div><div class="line"><a name="l01692"></a><span class="lineno"> 1692</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01693"></a><span class="lineno"> 1693</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01694"></a><span class="lineno"> 1694</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="l01695"></a><span class="lineno"> 1695</span>  }</div><div class="line"><a name="l01696"></a><span class="lineno"> 1696</span> </div><div class="line"><a name="l01697"></a><span class="lineno"> 1697</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01698"></a><span class="lineno"> 1698</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#l00261">Error.h:261</a></div></div>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01822">1822</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01823"></a><span class="lineno"> 1823</span> {</div><div class="line"><a name="l01824"></a><span class="lineno"> 1824</span>  <span class="keywordflow">switch</span>(gpu_target)</div><div class="line"><a name="l01825"></a><span class="lineno"> 1825</span>  {</div><div class="line"><a name="l01826"></a><span class="lineno"> 1826</span>  <span class="keywordflow">case</span> GPUTarget::GPU_ARCH_MASK:</div><div class="line"><a name="l01827"></a><span class="lineno"> 1827</span>  os << <span class="stringliteral">"GPU_ARCH_MASK"</span>;</div><div class="line"><a name="l01828"></a><span class="lineno"> 1828</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01829"></a><span class="lineno"> 1829</span>  <span class="keywordflow">case</span> GPUTarget::MIDGARD:</div><div class="line"><a name="l01830"></a><span class="lineno"> 1830</span>  os << <span class="stringliteral">"MIDGARD"</span>;</div><div class="line"><a name="l01831"></a><span class="lineno"> 1831</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01832"></a><span class="lineno"> 1832</span>  <span class="keywordflow">case</span> GPUTarget::BIFROST:</div><div class="line"><a name="l01833"></a><span class="lineno"> 1833</span>  os << <span class="stringliteral">"BIFROST"</span>;</div><div class="line"><a name="l01834"></a><span class="lineno"> 1834</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01835"></a><span class="lineno"> 1835</span>  <span class="keywordflow">case</span> GPUTarget::T600:</div><div class="line"><a name="l01836"></a><span class="lineno"> 1836</span>  os << <span class="stringliteral">"T600"</span>;</div><div class="line"><a name="l01837"></a><span class="lineno"> 1837</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01838"></a><span class="lineno"> 1838</span>  <span class="keywordflow">case</span> GPUTarget::T700:</div><div class="line"><a name="l01839"></a><span class="lineno"> 1839</span>  os << <span class="stringliteral">"T700"</span>;</div><div class="line"><a name="l01840"></a><span class="lineno"> 1840</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01841"></a><span class="lineno"> 1841</span>  <span class="keywordflow">case</span> GPUTarget::T800:</div><div class="line"><a name="l01842"></a><span class="lineno"> 1842</span>  os << <span class="stringliteral">"T800"</span>;</div><div class="line"><a name="l01843"></a><span class="lineno"> 1843</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01844"></a><span class="lineno"> 1844</span>  <span class="keywordflow">case</span> GPUTarget::G71:</div><div class="line"><a name="l01845"></a><span class="lineno"> 1845</span>  os << <span class="stringliteral">"G71"</span>;</div><div class="line"><a name="l01846"></a><span class="lineno"> 1846</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01847"></a><span class="lineno"> 1847</span>  <span class="keywordflow">case</span> GPUTarget::G72:</div><div class="line"><a name="l01848"></a><span class="lineno"> 1848</span>  os << <span class="stringliteral">"G72"</span>;</div><div class="line"><a name="l01849"></a><span class="lineno"> 1849</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01850"></a><span class="lineno"> 1850</span>  <span class="keywordflow">case</span> GPUTarget::G51:</div><div class="line"><a name="l01851"></a><span class="lineno"> 1851</span>  os << <span class="stringliteral">"G51"</span>;</div><div class="line"><a name="l01852"></a><span class="lineno"> 1852</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01853"></a><span class="lineno"> 1853</span>  <span class="keywordflow">case</span> GPUTarget::G51BIG:</div><div class="line"><a name="l01854"></a><span class="lineno"> 1854</span>  os << <span class="stringliteral">"G51BIG"</span>;</div><div class="line"><a name="l01855"></a><span class="lineno"> 1855</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01856"></a><span class="lineno"> 1856</span>  <span class="keywordflow">case</span> GPUTarget::G51LIT:</div><div class="line"><a name="l01857"></a><span class="lineno"> 1857</span>  os << <span class="stringliteral">"G51LIT"</span>;</div><div class="line"><a name="l01858"></a><span class="lineno"> 1858</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01859"></a><span class="lineno"> 1859</span>  <span class="keywordflow">case</span> GPUTarget::G76:</div><div class="line"><a name="l01860"></a><span class="lineno"> 1860</span>  os << <span class="stringliteral">"G76"</span>;</div><div class="line"><a name="l01861"></a><span class="lineno"> 1861</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01862"></a><span class="lineno"> 1862</span>  <span class="keywordflow">case</span> GPUTarget::TTRX:</div><div class="line"><a name="l01863"></a><span class="lineno"> 1863</span>  os << <span class="stringliteral">"TTRX"</span>;</div><div class="line"><a name="l01864"></a><span class="lineno"> 1864</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01865"></a><span class="lineno"> 1865</span>  <span class="keywordflow">case</span> GPUTarget::TBOX:</div><div class="line"><a name="l01866"></a><span class="lineno"> 1866</span>  os << <span class="stringliteral">"TBOX"</span>;</div><div class="line"><a name="l01867"></a><span class="lineno"> 1867</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01868"></a><span class="lineno"> 1868</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01869"></a><span class="lineno"> 1869</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="l01870"></a><span class="lineno"> 1870</span>  }</div><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="keywordflow">return</span> os;</div><div class="line"><a name="l01873"></a><span class="lineno"> 1873</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#l00261">Error.h:261</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa78cc0fd1cab24af0fad71dc4c256f8e">BIFROST</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a0a2d4856ae75ec5a7b78851f6e5875f0">G51</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afc99dd3bc5650c5116886eefd3d18988">G51BIG</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a9d0acedfece9dfaf5cc3e63bfbeecf2f">G51LIT</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a79515d904f73cf1711207de1b2aa6ac6">G71</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3ab2ac2aea42c95ccc70260ceeb02ec4fc">G72</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa46ce37da51477a1af33a8810e0ed04d">G76</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a57a3b40730a5af7ea3e13eb4bba56d82">GPU_ARCH_MASK</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38">MIDGARD</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a6855a4342969d2b58c96d95385d6e673">T600</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd">T700</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048">T800</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a53e518b6393904e797819c7a941f9ddc">TBOX</a>, and <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3ab39f7e42574174cf9ee7da726bdb13b4">TTRX</a>.</p>
+
</div>
</div>
<a id="a907c93ba5daaabf6af7095f20340d024"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a907c93ba5daaabf6af7095f20340d024">◆ </a></span>operator<<() <span class="overload">[44/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a907c93ba5daaabf6af7095f20340d024">◆ </a></span>operator<<() <span class="overload">[48/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -17550,7 +18632,7 @@
</table>
</div><div class="memdoc">
-<p>Formatted output of the <a class="el" href="structarm__compute_1_1_detection_window.xhtml" title="Detection window used for the object detection. ">DetectionWindow</a> type. </p>
+<p>Formatted output of the <a class="el" href="structarm__compute_1_1_detection_window.xhtml" title="Detection window used for the object detection.">DetectionWindow</a> type. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
@@ -17560,20 +18642,105 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01720">1720</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00558">DetectionWindow::height</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00559">DetectionWindow::idx_class</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00560">DetectionWindow::score</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00557">DetectionWindow::width</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00555">DetectionWindow::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00556">DetectionWindow::y</a>.</p>
-<div class="fragment"><div class="line"><a name="l01721"></a><span class="lineno"> 1721</span> {</div><div class="line"><a name="l01722"></a><span class="lineno"> 1722</span>  os << <span class="stringliteral">"{x="</span> << detection_window.<a class="code" href="struct_detection_window.xhtml#a0815db32ce16586f5e90a633735df930">x</a> << <span class="stringliteral">","</span></div><div class="line"><a name="l01723"></a><span class="lineno"> 1723</span>  << <span class="stringliteral">"y="</span> << detection_window.<a class="code" href="struct_detection_window.xhtml#a45b45124e843a937c3e256edbce64eea">y</a> << <span class="stringliteral">","</span></div><div class="line"><a name="l01724"></a><span class="lineno"> 1724</span>  << <span class="stringliteral">"width="</span> << detection_window.<a class="code" href="struct_detection_window.xhtml#a67fe5ca4d6c3f95bf649ef48fe3d221b">width</a> << <span class="stringliteral">","</span></div><div class="line"><a name="l01725"></a><span class="lineno"> 1725</span>  << <span class="stringliteral">"height="</span> << detection_window.<a class="code" href="struct_detection_window.xhtml#aa0fb54e3dbe6f7446157eb3f3c1f77f3">height</a> << <span class="stringliteral">","</span></div><div class="line"><a name="l01726"></a><span class="lineno"> 1726</span>  << <span class="stringliteral">"idx_class="</span> << detection_window.<a class="code" href="struct_detection_window.xhtml#ad4f986571659dd822695ca58dda00e49">idx_class</a> << <span class="stringliteral">","</span></div><div class="line"><a name="l01727"></a><span class="lineno"> 1727</span>  << <span class="stringliteral">"score="</span> << detection_window.<a class="code" href="struct_detection_window.xhtml#a8c5cd9b525ee73a24b1d9d8e34982d1c">score</a> << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l01728"></a><span class="lineno"> 1728</span> </div><div class="line"><a name="l01729"></a><span class="lineno"> 1729</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01730"></a><span class="lineno"> 1730</span> }</div><div class="ttc" id="struct_detection_window_xhtml_ad4f986571659dd822695ca58dda00e49"><div class="ttname"><a href="struct_detection_window.xhtml#ad4f986571659dd822695ca58dda00e49">DetectionWindow::idx_class</a></div><div class="ttdeci">ushort idx_class</div><div class="ttdoc">Index of the class. </div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_types_8h_source.xhtml#l00053">types.h:53</a></div></div>
-<div class="ttc" id="struct_detection_window_xhtml_a45b45124e843a937c3e256edbce64eea"><div class="ttname"><a href="struct_detection_window.xhtml#a45b45124e843a937c3e256edbce64eea">DetectionWindow::y</a></div><div class="ttdeci">ushort y</div><div class="ttdoc">Top-left y coordinate. </div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_types_8h_source.xhtml#l00050">types.h:50</a></div></div>
-<div class="ttc" id="struct_detection_window_xhtml_a8c5cd9b525ee73a24b1d9d8e34982d1c"><div class="ttname"><a href="struct_detection_window.xhtml#a8c5cd9b525ee73a24b1d9d8e34982d1c">DetectionWindow::score</a></div><div class="ttdeci">float score</div><div class="ttdoc">Confidence value for the detection window. </div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_types_8h_source.xhtml#l00054">types.h:54</a></div></div>
-<div class="ttc" id="struct_detection_window_xhtml_aa0fb54e3dbe6f7446157eb3f3c1f77f3"><div class="ttname"><a href="struct_detection_window.xhtml#aa0fb54e3dbe6f7446157eb3f3c1f77f3">DetectionWindow::height</a></div><div class="ttdeci">ushort height</div><div class="ttdoc">Height of the detection window. </div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_types_8h_source.xhtml#l00052">types.h:52</a></div></div>
-<div class="ttc" id="struct_detection_window_xhtml_a0815db32ce16586f5e90a633735df930"><div class="ttname"><a href="struct_detection_window.xhtml#a0815db32ce16586f5e90a633735df930">DetectionWindow::x</a></div><div class="ttdeci">ushort x</div><div class="ttdoc">Top-left x coordinate. </div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_types_8h_source.xhtml#l00049">types.h:49</a></div></div>
-<div class="ttc" id="struct_detection_window_xhtml_a67fe5ca4d6c3f95bf649ef48fe3d221b"><div class="ttname"><a href="struct_detection_window.xhtml#a67fe5ca4d6c3f95bf649ef48fe3d221b">DetectionWindow::width</a></div><div class="ttdeci">ushort width</div><div class="ttdoc">Width of the detection window. </div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_types_8h_source.xhtml#l00051">types.h:51</a></div></div>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01895">1895</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01896"></a><span class="lineno"> 1896</span> {</div><div class="line"><a name="l01897"></a><span class="lineno"> 1897</span>  os << <span class="stringliteral">"{x="</span> << detection_window.<a class="code" href="struct_detection_window.xhtml#a0815db32ce16586f5e90a633735df930">x</a> << <span class="stringliteral">","</span></div><div class="line"><a name="l01898"></a><span class="lineno"> 1898</span>  << <span class="stringliteral">"y="</span> << detection_window.<a class="code" href="struct_detection_window.xhtml#a45b45124e843a937c3e256edbce64eea">y</a> << <span class="stringliteral">","</span></div><div class="line"><a name="l01899"></a><span class="lineno"> 1899</span>  << <span class="stringliteral">"width="</span> << detection_window.<a class="code" href="struct_detection_window.xhtml#a67fe5ca4d6c3f95bf649ef48fe3d221b">width</a> << <span class="stringliteral">","</span></div><div class="line"><a name="l01900"></a><span class="lineno"> 1900</span>  << <span class="stringliteral">"height="</span> << detection_window.<a class="code" href="struct_detection_window.xhtml#aa0fb54e3dbe6f7446157eb3f3c1f77f3">height</a> << <span class="stringliteral">","</span></div><div class="line"><a name="l01901"></a><span class="lineno"> 1901</span>  << <span class="stringliteral">"idx_class="</span> << detection_window.<a class="code" href="struct_detection_window.xhtml#ad4f986571659dd822695ca58dda00e49">idx_class</a> << <span class="stringliteral">","</span></div><div class="line"><a name="l01902"></a><span class="lineno"> 1902</span>  << <span class="stringliteral">"score="</span> << detection_window.<a class="code" href="struct_detection_window.xhtml#a8c5cd9b525ee73a24b1d9d8e34982d1c">score</a> << <span class="stringliteral">"}"</span>;</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="keywordflow">return</span> os;</div><div class="line"><a name="l01905"></a><span class="lineno"> 1905</span> }</div><div class="ttc" id="struct_detection_window_xhtml_ad4f986571659dd822695ca58dda00e49"><div class="ttname"><a href="struct_detection_window.xhtml#ad4f986571659dd822695ca58dda00e49">DetectionWindow::idx_class</a></div><div class="ttdeci">ushort idx_class</div><div class="ttdoc">Index of the class.</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_types_8h_source.xhtml#l00053">types.h:53</a></div></div>
+<div class="ttc" id="struct_detection_window_xhtml_a45b45124e843a937c3e256edbce64eea"><div class="ttname"><a href="struct_detection_window.xhtml#a45b45124e843a937c3e256edbce64eea">DetectionWindow::y</a></div><div class="ttdeci">ushort y</div><div class="ttdoc">Top-left y coordinate.</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_types_8h_source.xhtml#l00050">types.h:50</a></div></div>
+<div class="ttc" id="struct_detection_window_xhtml_a8c5cd9b525ee73a24b1d9d8e34982d1c"><div class="ttname"><a href="struct_detection_window.xhtml#a8c5cd9b525ee73a24b1d9d8e34982d1c">DetectionWindow::score</a></div><div class="ttdeci">float score</div><div class="ttdoc">Confidence value for the detection window.</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_types_8h_source.xhtml#l00054">types.h:54</a></div></div>
+<div class="ttc" id="struct_detection_window_xhtml_aa0fb54e3dbe6f7446157eb3f3c1f77f3"><div class="ttname"><a href="struct_detection_window.xhtml#aa0fb54e3dbe6f7446157eb3f3c1f77f3">DetectionWindow::height</a></div><div class="ttdeci">ushort height</div><div class="ttdoc">Height of the detection window.</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_types_8h_source.xhtml#l00052">types.h:52</a></div></div>
+<div class="ttc" id="struct_detection_window_xhtml_a0815db32ce16586f5e90a633735df930"><div class="ttname"><a href="struct_detection_window.xhtml#a0815db32ce16586f5e90a633735df930">DetectionWindow::x</a></div><div class="ttdeci">ushort x</div><div class="ttdoc">Top-left x coordinate.</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_types_8h_source.xhtml#l00049">types.h:49</a></div></div>
+<div class="ttc" id="struct_detection_window_xhtml_a67fe5ca4d6c3f95bf649ef48fe3d221b"><div class="ttname"><a href="struct_detection_window.xhtml#a67fe5ca4d6c3f95bf649ef48fe3d221b">DetectionWindow::width</a></div><div class="ttdeci">ushort width</div><div class="ttdoc">Width of the detection window.</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_types_8h_source.xhtml#l00051">types.h:51</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00594">DetectionWindow::height</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00595">DetectionWindow::idx_class</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00596">DetectionWindow::score</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00593">DetectionWindow::width</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00591">DetectionWindow::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00592">DetectionWindow::y</a>.</p>
+
+</div>
+</div>
+<a id="a28634df052522fe60e15a0128ba924cc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a28634df052522fe60e15a0128ba924cc">◆ </a></span>operator<<() <span class="overload">[49/55]</span></h2>
+
+<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#ad818ba0ecd4a87d8f1bb0d5b17f07830">DetectionOutputLayerCodeType</a> & </td>
+ <td class="paramname"><em>detection_code</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Formatted output of the DetectionOutputLayerCodeType type. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">detection_code</td><td>Type to output</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01914">1914</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01915"></a><span class="lineno"> 1915</span> {</div><div class="line"><a name="l01916"></a><span class="lineno"> 1916</span>  <span class="keywordflow">switch</span>(detection_code)</div><div class="line"><a name="l01917"></a><span class="lineno"> 1917</span>  {</div><div class="line"><a name="l01918"></a><span class="lineno"> 1918</span>  <span class="keywordflow">case</span> DetectionOutputLayerCodeType::CENTER_SIZE:</div><div class="line"><a name="l01919"></a><span class="lineno"> 1919</span>  os << <span class="stringliteral">"CENTER_SIZE"</span>;</div><div class="line"><a name="l01920"></a><span class="lineno"> 1920</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01921"></a><span class="lineno"> 1921</span>  <span class="keywordflow">case</span> DetectionOutputLayerCodeType::CORNER:</div><div class="line"><a name="l01922"></a><span class="lineno"> 1922</span>  os << <span class="stringliteral">"CORNER"</span>;</div><div class="line"><a name="l01923"></a><span class="lineno"> 1923</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01924"></a><span class="lineno"> 1924</span>  <span class="keywordflow">case</span> DetectionOutputLayerCodeType::CORNER_SIZE:</div><div class="line"><a name="l01925"></a><span class="lineno"> 1925</span>  os << <span class="stringliteral">"CORNER_SIZE"</span>;</div><div class="line"><a name="l01926"></a><span class="lineno"> 1926</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01927"></a><span class="lineno"> 1927</span>  <span class="keywordflow">case</span> DetectionOutputLayerCodeType::TF_CENTER:</div><div class="line"><a name="l01928"></a><span class="lineno"> 1928</span>  os << <span class="stringliteral">"TF_CENTER"</span>;</div><div class="line"><a name="l01929"></a><span class="lineno"> 1929</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01930"></a><span class="lineno"> 1930</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01931"></a><span class="lineno"> 1931</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="l01932"></a><span class="lineno"> 1932</span>  }</div><div class="line"><a name="l01933"></a><span class="lineno"> 1933</span> </div><div class="line"><a name="l01934"></a><span class="lineno"> 1934</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01935"></a><span class="lineno"> 1935</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#l00261">Error.h:261</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ad818ba0ecd4a87d8f1bb0d5b17f07830a1150a8d7752b01d30d91fe18fe9d8a54">CENTER_SIZE</a>, <a class="el" href="namespacearm__compute.xhtml#ad818ba0ecd4a87d8f1bb0d5b17f07830ac411afd31d32cec664d372acc12f404a">CORNER</a>, <a class="el" href="namespacearm__compute.xhtml#ad818ba0ecd4a87d8f1bb0d5b17f07830afbc6c35854fe02eb9e792f897399c42a">CORNER_SIZE</a>, and <a class="el" href="namespacearm__compute.xhtml#ad818ba0ecd4a87d8f1bb0d5b17f07830ae65a115db9b4bcc4ae0aa0b989089d16">TF_CENTER</a>.</p>
+
+</div>
+</div>
+<a id="a22b40e983993e76ab39ce878fb111b9b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a22b40e983993e76ab39ce878fb111b9b">◆ </a></span>operator<<() <span class="overload">[50/55]</span></h2>
+
+<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="classarm__compute_1_1_detection_output_layer_info.xhtml">DetectionOutputLayerInfo</a> & </td>
+ <td class="paramname"><em>detection_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="classarm__compute_1_1_detection_output_layer_info.xhtml" title="Detection Output layer info.">DetectionOutputLayerInfo</a> type. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">detection_info</td><td>Type to output</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01956">1956</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01957"></a><span class="lineno"> 1957</span> {</div><div class="line"><a name="l01958"></a><span class="lineno"> 1958</span>  os << <span class="stringliteral">"{Classes="</span> << detection_info.num_classes() << <span class="stringliteral">","</span></div><div class="line"><a name="l01959"></a><span class="lineno"> 1959</span>  << <span class="stringliteral">"ShareLocation="</span> << detection_info.share_location() << <span class="stringliteral">","</span></div><div class="line"><a name="l01960"></a><span class="lineno"> 1960</span>  << <span class="stringliteral">"CodeType="</span> << detection_info.code_type() << <span class="stringliteral">","</span></div><div class="line"><a name="l01961"></a><span class="lineno"> 1961</span>  << <span class="stringliteral">"VarianceEncodedInTarget="</span> << detection_info.variance_encoded_in_target() << <span class="stringliteral">","</span></div><div class="line"><a name="l01962"></a><span class="lineno"> 1962</span>  << <span class="stringliteral">"KeepTopK="</span> << detection_info.keep_top_k() << <span class="stringliteral">","</span></div><div class="line"><a name="l01963"></a><span class="lineno"> 1963</span>  << <span class="stringliteral">"NMSThreshold="</span> << detection_info.nms_threshold() << <span class="stringliteral">","</span></div><div class="line"><a name="l01964"></a><span class="lineno"> 1964</span>  << <span class="stringliteral">"Eta="</span> << detection_info.eta() << <span class="stringliteral">","</span></div><div class="line"><a name="l01965"></a><span class="lineno"> 1965</span>  << <span class="stringliteral">"BackgroundLabelId="</span> << detection_info.background_label_id() << <span class="stringliteral">","</span></div><div class="line"><a name="l01966"></a><span class="lineno"> 1966</span>  << <span class="stringliteral">"ConfidenceThreshold="</span> << detection_info.confidence_threshold() << <span class="stringliteral">","</span></div><div class="line"><a name="l01967"></a><span class="lineno"> 1967</span>  << <span class="stringliteral">"TopK="</span> << detection_info.top_k() << <span class="stringliteral">","</span></div><div class="line"><a name="l01968"></a><span class="lineno"> 1968</span>  << <span class="stringliteral">"NumLocClasses="</span> << detection_info.num_loc_classes()</div><div class="line"><a name="l01969"></a><span class="lineno"> 1969</span>  << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l01970"></a><span class="lineno"> 1970</span> </div><div class="line"><a name="l01971"></a><span class="lineno"> 1971</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01972"></a><span class="lineno"> 1972</span> }</div></div><!-- fragment -->
+<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01086">DetectionOutputLayerInfo::background_label_id()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01061">DetectionOutputLayerInfo::code_type()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01091">DetectionOutputLayerInfo::confidence_threshold()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01081">DetectionOutputLayerInfo::eta()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01071">DetectionOutputLayerInfo::keep_top_k()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01076">DetectionOutputLayerInfo::nms_threshold()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01051">DetectionOutputLayerInfo::num_classes()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01101">DetectionOutputLayerInfo::num_loc_classes()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01056">DetectionOutputLayerInfo::share_location()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01096">DetectionOutputLayerInfo::top_k()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01066">DetectionOutputLayerInfo::variance_encoded_in_target()</a>.</p>
+
</div>
</div>
<a id="a8cfa7d498e60be008d557d025fe62ff3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8cfa7d498e60be008d557d025fe62ff3">◆ </a></span>operator<<() <span class="overload">[45/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a8cfa7d498e60be008d557d025fe62ff3">◆ </a></span>operator<<() <span class="overload">[51/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -17608,15 +18775,15 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01752">1752</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29">TERM_CRITERIA_BOTH</a>, <a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b">TERM_CRITERIA_EPSILON</a>, and <a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd">TERM_CRITERIA_ITERATIONS</a>.</p>
-<div class="fragment"><div class="line"><a name="l01753"></a><span class="lineno"> 1753</span> {</div><div class="line"><a name="l01754"></a><span class="lineno"> 1754</span>  <span class="keywordflow">switch</span>(termination)</div><div class="line"><a name="l01755"></a><span class="lineno"> 1755</span>  {</div><div class="line"><a name="l01756"></a><span class="lineno"> 1756</span>  <span class="keywordflow">case</span> Termination::TERM_CRITERIA_EPSILON:</div><div class="line"><a name="l01757"></a><span class="lineno"> 1757</span>  os << <span class="stringliteral">"TERM_CRITERIA_EPSILON"</span>;</div><div class="line"><a name="l01758"></a><span class="lineno"> 1758</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01759"></a><span class="lineno"> 1759</span>  <span class="keywordflow">case</span> Termination::TERM_CRITERIA_ITERATIONS:</div><div class="line"><a name="l01760"></a><span class="lineno"> 1760</span>  os << <span class="stringliteral">"TERM_CRITERIA_ITERATIONS"</span>;</div><div class="line"><a name="l01761"></a><span class="lineno"> 1761</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01762"></a><span class="lineno"> 1762</span>  <span class="keywordflow">case</span> Termination::TERM_CRITERIA_BOTH:</div><div class="line"><a name="l01763"></a><span class="lineno"> 1763</span>  os << <span class="stringliteral">"TERM_CRITERIA_BOTH"</span>;</div><div class="line"><a name="l01764"></a><span class="lineno"> 1764</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01765"></a><span class="lineno"> 1765</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01766"></a><span class="lineno"> 1766</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="l01767"></a><span class="lineno"> 1767</span>  }</div><div class="line"><a name="l01768"></a><span class="lineno"> 1768</span> </div><div class="line"><a name="l01769"></a><span class="lineno"> 1769</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01770"></a><span class="lineno"> 1770</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#l00261">Error.h:261</a></div></div>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l02006">2006</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l02007"></a><span class="lineno"> 2007</span> {</div><div class="line"><a name="l02008"></a><span class="lineno"> 2008</span>  <span class="keywordflow">switch</span>(termination)</div><div class="line"><a name="l02009"></a><span class="lineno"> 2009</span>  {</div><div class="line"><a name="l02010"></a><span class="lineno"> 2010</span>  <span class="keywordflow">case</span> Termination::TERM_CRITERIA_EPSILON:</div><div class="line"><a name="l02011"></a><span class="lineno"> 2011</span>  os << <span class="stringliteral">"TERM_CRITERIA_EPSILON"</span>;</div><div class="line"><a name="l02012"></a><span class="lineno"> 2012</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l02013"></a><span class="lineno"> 2013</span>  <span class="keywordflow">case</span> Termination::TERM_CRITERIA_ITERATIONS:</div><div class="line"><a name="l02014"></a><span class="lineno"> 2014</span>  os << <span class="stringliteral">"TERM_CRITERIA_ITERATIONS"</span>;</div><div class="line"><a name="l02015"></a><span class="lineno"> 2015</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l02016"></a><span class="lineno"> 2016</span>  <span class="keywordflow">case</span> Termination::TERM_CRITERIA_BOTH:</div><div class="line"><a name="l02017"></a><span class="lineno"> 2017</span>  os << <span class="stringliteral">"TERM_CRITERIA_BOTH"</span>;</div><div class="line"><a name="l02018"></a><span class="lineno"> 2018</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l02019"></a><span class="lineno"> 2019</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l02020"></a><span class="lineno"> 2020</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="l02021"></a><span class="lineno"> 2021</span>  }</div><div class="line"><a name="l02022"></a><span class="lineno"> 2022</span> </div><div class="line"><a name="l02023"></a><span class="lineno"> 2023</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l02024"></a><span class="lineno"> 2024</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#l00261">Error.h:261</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29">TERM_CRITERIA_BOTH</a>, <a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b">TERM_CRITERIA_EPSILON</a>, and <a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd">TERM_CRITERIA_ITERATIONS</a>.</p>
+
</div>
</div>
<a id="a2329ad899483ca80bbffd03a63da9f5d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2329ad899483ca80bbffd03a63da9f5d">◆ </a></span>operator<<() <span class="overload">[46/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a2329ad899483ca80bbffd03a63da9f5d">◆ </a></span>operator<<() <span class="overload">[52/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -17651,15 +18818,15 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01792">1792</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aecf3e2493afebcfefb0b9b86bd50ef0d">A53</a>, <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a33f91a7ec1c6be774d71fcd00ac81c92">A55r0</a>, <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a2f2d74257db975404ff4ca97ce1e0bca">A55r1</a>, <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4ac942dc2a9f958acddc67e11472d3ca0b">GENERIC</a>, <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aca6fc09ca003ddc8f631109ce01bc6e8">GENERIC_FP16</a>, and <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aad1a9b424f69f167da12150036196cd7">GENERIC_FP16_DOT</a>.</p>
-<div class="fragment"><div class="line"><a name="l01793"></a><span class="lineno"> 1793</span> {</div><div class="line"><a name="l01794"></a><span class="lineno"> 1794</span>  <span class="keywordflow">switch</span>(cpu_model)</div><div class="line"><a name="l01795"></a><span class="lineno"> 1795</span>  {</div><div class="line"><a name="l01796"></a><span class="lineno"> 1796</span>  <span class="keywordflow">case</span> CPUModel::GENERIC:</div><div class="line"><a name="l01797"></a><span class="lineno"> 1797</span>  os << <span class="stringliteral">"GENERIC"</span>;</div><div class="line"><a name="l01798"></a><span class="lineno"> 1798</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01799"></a><span class="lineno"> 1799</span>  <span class="keywordflow">case</span> CPUModel::GENERIC_FP16:</div><div class="line"><a name="l01800"></a><span class="lineno"> 1800</span>  os << <span class="stringliteral">"GENERIC_FP16"</span>;</div><div class="line"><a name="l01801"></a><span class="lineno"> 1801</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01802"></a><span class="lineno"> 1802</span>  <span class="keywordflow">case</span> CPUModel::GENERIC_FP16_DOT:</div><div class="line"><a name="l01803"></a><span class="lineno"> 1803</span>  os << <span class="stringliteral">"GENERIC_FP16_DOT"</span>;</div><div class="line"><a name="l01804"></a><span class="lineno"> 1804</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01805"></a><span class="lineno"> 1805</span>  <span class="keywordflow">case</span> CPUModel::A53:</div><div class="line"><a name="l01806"></a><span class="lineno"> 1806</span>  os << <span class="stringliteral">"A53"</span>;</div><div class="line"><a name="l01807"></a><span class="lineno"> 1807</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01808"></a><span class="lineno"> 1808</span>  <span class="keywordflow">case</span> CPUModel::A55r0:</div><div class="line"><a name="l01809"></a><span class="lineno"> 1809</span>  os << <span class="stringliteral">"A55r0"</span>;</div><div class="line"><a name="l01810"></a><span class="lineno"> 1810</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01811"></a><span class="lineno"> 1811</span>  <span class="keywordflow">case</span> CPUModel::A55r1:</div><div class="line"><a name="l01812"></a><span class="lineno"> 1812</span>  os << <span class="stringliteral">"A55r1"</span>;</div><div class="line"><a name="l01813"></a><span class="lineno"> 1813</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01814"></a><span class="lineno"> 1814</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01815"></a><span class="lineno"> 1815</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="l01816"></a><span class="lineno"> 1816</span>  }</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="keywordflow">return</span> os;</div><div class="line"><a name="l01819"></a><span class="lineno"> 1819</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#l00261">Error.h:261</a></div></div>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l02046">2046</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l02047"></a><span class="lineno"> 2047</span> {</div><div class="line"><a name="l02048"></a><span class="lineno"> 2048</span>  <span class="keywordflow">switch</span>(cpu_model)</div><div class="line"><a name="l02049"></a><span class="lineno"> 2049</span>  {</div><div class="line"><a name="l02050"></a><span class="lineno"> 2050</span>  <span class="keywordflow">case</span> CPUModel::GENERIC:</div><div class="line"><a name="l02051"></a><span class="lineno"> 2051</span>  os << <span class="stringliteral">"GENERIC"</span>;</div><div class="line"><a name="l02052"></a><span class="lineno"> 2052</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l02053"></a><span class="lineno"> 2053</span>  <span class="keywordflow">case</span> CPUModel::GENERIC_FP16:</div><div class="line"><a name="l02054"></a><span class="lineno"> 2054</span>  os << <span class="stringliteral">"GENERIC_FP16"</span>;</div><div class="line"><a name="l02055"></a><span class="lineno"> 2055</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l02056"></a><span class="lineno"> 2056</span>  <span class="keywordflow">case</span> CPUModel::GENERIC_FP16_DOT:</div><div class="line"><a name="l02057"></a><span class="lineno"> 2057</span>  os << <span class="stringliteral">"GENERIC_FP16_DOT"</span>;</div><div class="line"><a name="l02058"></a><span class="lineno"> 2058</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l02059"></a><span class="lineno"> 2059</span>  <span class="keywordflow">case</span> CPUModel::A53:</div><div class="line"><a name="l02060"></a><span class="lineno"> 2060</span>  os << <span class="stringliteral">"A53"</span>;</div><div class="line"><a name="l02061"></a><span class="lineno"> 2061</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l02062"></a><span class="lineno"> 2062</span>  <span class="keywordflow">case</span> CPUModel::A55r0:</div><div class="line"><a name="l02063"></a><span class="lineno"> 2063</span>  os << <span class="stringliteral">"A55r0"</span>;</div><div class="line"><a name="l02064"></a><span class="lineno"> 2064</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l02065"></a><span class="lineno"> 2065</span>  <span class="keywordflow">case</span> CPUModel::A55r1:</div><div class="line"><a name="l02066"></a><span class="lineno"> 2066</span>  os << <span class="stringliteral">"A55r1"</span>;</div><div class="line"><a name="l02067"></a><span class="lineno"> 2067</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l02068"></a><span class="lineno"> 2068</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l02069"></a><span class="lineno"> 2069</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="l02070"></a><span class="lineno"> 2070</span>  }</div><div class="line"><a name="l02071"></a><span class="lineno"> 2071</span> </div><div class="line"><a name="l02072"></a><span class="lineno"> 2072</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l02073"></a><span class="lineno"> 2073</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#l00261">Error.h:261</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aecf3e2493afebcfefb0b9b86bd50ef0d">A53</a>, <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a33f91a7ec1c6be774d71fcd00ac81c92">A55r0</a>, <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a2f2d74257db975404ff4ca97ce1e0bca">A55r1</a>, <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4ac942dc2a9f958acddc67e11472d3ca0b">GENERIC</a>, <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aca6fc09ca003ddc8f631109ce01bc6e8">GENERIC_FP16</a>, and <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aad1a9b424f69f167da12150036196cd7">GENERIC_FP16_DOT</a>.</p>
+
</div>
</div>
<a id="a29cd1c3e1b33d61a479fa49465c5a7e7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a29cd1c3e1b33d61a479fa49465c5a7e7">◆ </a></span>operator<<() <span class="overload">[47/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a29cd1c3e1b33d61a479fa49465c5a7e7">◆ </a></span>operator<<() <span class="overload">[53/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -17688,18 +18855,18 @@
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">args</td><td><a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information. ">Vector</a> of objects to print</td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">args</td><td><a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information.">Vector</a> of objects to print</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01841">1841</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</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>  os << <span class="stringliteral">"["</span>;</div><div class="line"><a name="l01844"></a><span class="lineno"> 1844</span>  <span class="keywordtype">bool</span> first = <span class="keyword">true</span>;</div><div class="line"><a name="l01845"></a><span class="lineno"> 1845</span>  <span class="keywordflow">for</span>(<span class="keyword">auto</span> &arg : args)</div><div class="line"><a name="l01846"></a><span class="lineno"> 1846</span>  {</div><div class="line"><a name="l01847"></a><span class="lineno"> 1847</span>  <span class="keywordflow">if</span>(first)</div><div class="line"><a name="l01848"></a><span class="lineno"> 1848</span>  {</div><div class="line"><a name="l01849"></a><span class="lineno"> 1849</span>  first = <span class="keyword">false</span>;</div><div class="line"><a name="l01850"></a><span class="lineno"> 1850</span>  }</div><div class="line"><a name="l01851"></a><span class="lineno"> 1851</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l01852"></a><span class="lineno"> 1852</span>  {</div><div class="line"><a name="l01853"></a><span class="lineno"> 1853</span>  os << <span class="stringliteral">", "</span>;</div><div class="line"><a name="l01854"></a><span class="lineno"> 1854</span>  }</div><div class="line"><a name="l01855"></a><span class="lineno"> 1855</span>  os << arg;</div><div class="line"><a name="l01856"></a><span class="lineno"> 1856</span>  }</div><div class="line"><a name="l01857"></a><span class="lineno"> 1857</span>  os << <span class="stringliteral">"]"</span>;</div><div class="line"><a name="l01858"></a><span class="lineno"> 1858</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01859"></a><span class="lineno"> 1859</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l02095">2095</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l02096"></a><span class="lineno"> 2096</span> {</div><div class="line"><a name="l02097"></a><span class="lineno"> 2097</span>  os << <span class="stringliteral">"["</span>;</div><div class="line"><a name="l02098"></a><span class="lineno"> 2098</span>  <span class="keywordtype">bool</span> first = <span class="keyword">true</span>;</div><div class="line"><a name="l02099"></a><span class="lineno"> 2099</span>  <span class="keywordflow">for</span>(<span class="keyword">auto</span> &arg : args)</div><div class="line"><a name="l02100"></a><span class="lineno"> 2100</span>  {</div><div class="line"><a name="l02101"></a><span class="lineno"> 2101</span>  <span class="keywordflow">if</span>(first)</div><div class="line"><a name="l02102"></a><span class="lineno"> 2102</span>  {</div><div class="line"><a name="l02103"></a><span class="lineno"> 2103</span>  first = <span class="keyword">false</span>;</div><div class="line"><a name="l02104"></a><span class="lineno"> 2104</span>  }</div><div class="line"><a name="l02105"></a><span class="lineno"> 2105</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l02106"></a><span class="lineno"> 2106</span>  {</div><div class="line"><a name="l02107"></a><span class="lineno"> 2107</span>  os << <span class="stringliteral">", "</span>;</div><div class="line"><a name="l02108"></a><span class="lineno"> 2108</span>  }</div><div class="line"><a name="l02109"></a><span class="lineno"> 2109</span>  os << arg;</div><div class="line"><a name="l02110"></a><span class="lineno"> 2110</span>  }</div><div class="line"><a name="l02111"></a><span class="lineno"> 2111</span>  os << <span class="stringliteral">"]"</span>;</div><div class="line"><a name="l02112"></a><span class="lineno"> 2112</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l02113"></a><span class="lineno"> 2113</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="ae7393414bb7b814bf70e0399f2347847"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae7393414bb7b814bf70e0399f2347847">◆ </a></span>operator<<() <span class="overload">[48/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#ae7393414bb7b814bf70e0399f2347847">◆ </a></span>operator<<() <span class="overload">[54/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -17734,15 +18901,15 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01868">1868</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00929">PriorBoxLayerInfo::clip()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00924">PriorBoxLayerInfo::flip()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00914">PriorBoxLayerInfo::img_size()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00934">PriorBoxLayerInfo::max_sizes()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00899">PriorBoxLayerInfo::min_sizes()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00919">PriorBoxLayerInfo::offset()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00909">PriorBoxLayerInfo::steps()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00904">PriorBoxLayerInfo::variances()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00464">Coordinates2D::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00465">Coordinates2D::y</a>.</p>
-<div class="fragment"><div class="line"><a name="l01869"></a><span class="lineno"> 1869</span> {</div><div class="line"><a name="l01870"></a><span class="lineno"> 1870</span>  os << <span class="stringliteral">"Clip:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.clip()</div><div class="line"><a name="l01871"></a><span class="lineno"> 1871</span>  << <span class="stringliteral">"Flip:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.flip()</div><div class="line"><a name="l01872"></a><span class="lineno"> 1872</span>  << <span class="stringliteral">"StepX:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.steps()[0]</div><div class="line"><a name="l01873"></a><span class="lineno"> 1873</span>  << <span class="stringliteral">"StepY:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.steps()[1]</div><div class="line"><a name="l01874"></a><span class="lineno"> 1874</span>  << <span class="stringliteral">"MinSizes:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.min_sizes()</div><div class="line"><a name="l01875"></a><span class="lineno"> 1875</span>  << <span class="stringliteral">"MaxSizes:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.max_sizes()</div><div class="line"><a name="l01876"></a><span class="lineno"> 1876</span>  << <span class="stringliteral">"ImgSizeX:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.img_size().x</div><div class="line"><a name="l01877"></a><span class="lineno"> 1877</span>  << <span class="stringliteral">"ImgSizeY:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.img_size().y</div><div class="line"><a name="l01878"></a><span class="lineno"> 1878</span>  << <span class="stringliteral">"Offset:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.offset()</div><div class="line"><a name="l01879"></a><span class="lineno"> 1879</span>  << <span class="stringliteral">"Variances:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.variances();</div><div class="line"><a name="l01880"></a><span class="lineno"> 1880</span> </div><div class="line"><a name="l01881"></a><span class="lineno"> 1881</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01882"></a><span class="lineno"> 1882</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 class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l02122">2122</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l02123"></a><span class="lineno"> 2123</span> {</div><div class="line"><a name="l02124"></a><span class="lineno"> 2124</span>  os << <span class="stringliteral">"Clip:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.clip()</div><div class="line"><a name="l02125"></a><span class="lineno"> 2125</span>  << <span class="stringliteral">"Flip:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.flip()</div><div class="line"><a name="l02126"></a><span class="lineno"> 2126</span>  << <span class="stringliteral">"StepX:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.steps()[0]</div><div class="line"><a name="l02127"></a><span class="lineno"> 2127</span>  << <span class="stringliteral">"StepY:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.steps()[1]</div><div class="line"><a name="l02128"></a><span class="lineno"> 2128</span>  << <span class="stringliteral">"MinSizes:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.min_sizes()</div><div class="line"><a name="l02129"></a><span class="lineno"> 2129</span>  << <span class="stringliteral">"MaxSizes:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.max_sizes()</div><div class="line"><a name="l02130"></a><span class="lineno"> 2130</span>  << <span class="stringliteral">"ImgSizeX:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.img_size().x</div><div class="line"><a name="l02131"></a><span class="lineno"> 2131</span>  << <span class="stringliteral">"ImgSizeY:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.img_size().y</div><div class="line"><a name="l02132"></a><span class="lineno"> 2132</span>  << <span class="stringliteral">"Offset:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.offset()</div><div class="line"><a name="l02133"></a><span class="lineno"> 2133</span>  << <span class="stringliteral">"Variances:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.variances();</div><div class="line"><a name="l02134"></a><span class="lineno"> 2134</span> </div><div class="line"><a name="l02135"></a><span class="lineno"> 2135</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l02136"></a><span class="lineno"> 2136</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a4f4125dba5283887b34f889b1c615c0c"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">arm_compute::test::validation::info</a></div><div class="ttdeci">info</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">ConvolutionLayer.cpp:174</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">arm_compute::test::validation::info</a>.</p>
+
</div>
</div>
<a id="af3cba8a4493cee4c431d128eed565ffe"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af3cba8a4493cee4c431d128eed565ffe">◆ </a></span>operator<<() <span class="overload">[49/49]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#af3cba8a4493cee4c431d128eed565ffe">◆ </a></span>operator<<() <span class="overload">[55/55]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -17767,13 +18934,13 @@
</table>
</div><div class="memdoc">
-<p>Formatted output of the <a class="el" href="structarm__compute_1_1_winograd_info.xhtml" title="Winograd information. ">WinogradInfo</a> type. </p>
+<p>Formatted output of the <a class="el" href="structarm__compute_1_1_winograd_info.xhtml" title="Winograd information.">WinogradInfo</a> type. </p>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01899">1899</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01730">WinogradInfo::convolution_info</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01728">WinogradInfo::kernel_size</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01731">WinogradInfo::output_data_layout</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01727">WinogradInfo::output_tile_size</a>.</p>
-<div class="fragment"><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>  os << <span class="stringliteral">"{OutputTileSize="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.output_tile_size << <span class="stringliteral">","</span></div><div class="line"><a name="l01902"></a><span class="lineno"> 1902</span>  << <span class="stringliteral">"KernelSize="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.kernel_size << <span class="stringliteral">","</span></div><div class="line"><a name="l01903"></a><span class="lineno"> 1903</span>  << <span class="stringliteral">"PadStride="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.convolution_info << <span class="stringliteral">","</span></div><div class="line"><a name="l01904"></a><span class="lineno"> 1904</span>  << <span class="stringliteral">"OutputDataLayout="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.output_data_layout << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l01905"></a><span class="lineno"> 1905</span> </div><div class="line"><a name="l01906"></a><span class="lineno"> 1906</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01907"></a><span class="lineno"> 1907</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 class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l02153">2153</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l02154"></a><span class="lineno"> 2154</span> {</div><div class="line"><a name="l02155"></a><span class="lineno"> 2155</span>  os << <span class="stringliteral">"{OutputTileSize="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.output_tile_size << <span class="stringliteral">","</span></div><div class="line"><a name="l02156"></a><span class="lineno"> 2156</span>  << <span class="stringliteral">"KernelSize="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.kernel_size << <span class="stringliteral">","</span></div><div class="line"><a name="l02157"></a><span class="lineno"> 2157</span>  << <span class="stringliteral">"PadStride="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.convolution_info << <span class="stringliteral">","</span></div><div class="line"><a name="l02158"></a><span class="lineno"> 2158</span>  << <span class="stringliteral">"OutputDataLayout="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.output_data_layout << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l02159"></a><span class="lineno"> 2159</span> </div><div class="line"><a name="l02160"></a><span class="lineno"> 2160</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l02161"></a><span class="lineno"> 2161</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a4f4125dba5283887b34f889b1c615c0c"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">arm_compute::test::validation::info</a></div><div class="ttdeci">info</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">ConvolutionLayer.cpp:174</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">arm_compute::test::validation::info</a>.</p>
+
</div>
</div>
<a id="a096590f2456b9e9bcb8db98175720b60"></a>
@@ -17813,21 +18980,21 @@
<p>Check that given dimensions are equal. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">lhs</td><td>Left-hand side <a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a>. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">rhs</td><td>Right-hand side <a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a>.</td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">lhs</td><td>Left-hand side <a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality.">Dimensions</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">rhs</td><td>Right-hand side <a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality.">Dimensions</a>.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if the given dimensions are equal. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_dimensions_8h_source.xhtml#l00234">234</a> of file <a class="el" href="_dimensions_8h_source.xhtml">Dimensions.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_dimensions_8h_source.xhtml#l00189">Dimensions< T >::cbegin()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00213">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="l00235"></a><span class="lineno"> 235</span> {</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</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="l00237"></a><span class="lineno"> 237</span> }</div></div><!-- fragment -->
+<p class="reference">References <a class="el" href="_dimensions_8h_source.xhtml#l00189">Dimensions< T >::cbegin()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00213">Dimensions< T >::cend()</a>, and <a class="el" href="_dimensions_8h_source.xhtml#l00122">Dimensions< T >::num_dimensions()</a>.</p>
+
</div>
</div>
<a id="a1379e5f8a8b4640d7a52d901f0539ccd"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1379e5f8a8b4640d7a52d901f0539ccd">◆ </a></span>operator>>() <span class="overload">[1/3]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a1379e5f8a8b4640d7a52d901f0539ccd">◆ </a></span>operator>>() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -17863,12 +19030,11 @@
<dl class="section return"><dt>Returns</dt><dd>the modified input stream. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_type_reader_8h_source.xhtml#l00042">42</a> of file <a class="el" href="_type_reader_8h_source.xhtml">TypeReader.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>  std::string value;</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>  is >> value;</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>  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="l00049"></a><span class="lineno"> 49</span>  {</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</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="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>  <span class="keywordflow">if</span>(value == <span class="stringliteral">"UNDEFINED"</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>  mode = BorderMode::UNDEFINED;</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>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(value == <span class="stringliteral">"CONSTANT"</span>)</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>  mode = BorderMode::CONSTANT;</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">else</span> <span class="keywordflow">if</span>(value == <span class="stringliteral">"REPLICATE"</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>  mode = BorderMode::REPLICATE;</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="keywordflow">else</span></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">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="l00068"></a><span class="lineno"> 68</span>  }</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keywordflow">return</span> is;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span> }</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">CLTensor c</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00092">GEMM.cpp:92</a></div></div>
-</div><!-- fragment -->
+<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>  std::string value;</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>  is >> value;</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>  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="l00049"></a><span class="lineno"> 49</span>  {</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keywordflow">return</span> std::toupper(c);</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>  <span class="keywordflow">if</span>(value == <span class="stringliteral">"UNDEFINED"</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>  mode = BorderMode::UNDEFINED;</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>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(value == <span class="stringliteral">"CONSTANT"</span>)</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>  mode = BorderMode::CONSTANT;</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">else</span> <span class="keywordflow">if</span>(value == <span class="stringliteral">"REPLICATE"</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>  mode = BorderMode::REPLICATE;</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="keywordflow">else</span></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">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="l00068"></a><span class="lineno"> 68</span>  }</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keywordflow">return</span> is;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a7cec6ed141f3eb1d6330533a90bba9e1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7cec6ed141f3eb1d6330533a90bba9e1">◆ </a></span>operator>>() <span class="overload">[2/3]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a7cec6ed141f3eb1d6330533a90bba9e1">◆ </a></span>operator>>() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -17904,13 +19070,13 @@
<dl class="section return"><dt>Returns</dt><dd>Updated stream </dd></dl>
<p class="definition">Definition at line <a class="el" href="_type_loader_8h_source.xhtml#l00048">48</a> of file <a class="el" href="_type_loader_8h_source.xhtml">TypeLoader.h</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>  std::string value;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  stream >> value;</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a> = <a class="code" href="namespacearm__compute.xhtml#a307a55b07dc70dc9177ff26543b1c66f">data_type_from_name</a>(value);</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keywordflow">return</span> stream;</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_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_arithmetic_subtraction_8cpp_source.xhtml#l00174">ArithmeticSubtraction.cpp:174</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a307a55b07dc70dc9177ff26543b1c66f"><div class="ttname"><a href="namespacearm__compute.xhtml#a307a55b07dc70dc9177ff26543b1c66f">arm_compute::data_type_from_name</a></div><div class="ttdeci">arm_compute::DataType data_type_from_name(const std::string &name)</div><div class="ttdoc">Converts a string to a strong types enumeration DataType. </div><div class="ttdef"><b>Definition:</b> <a href="_type_loader_8cpp_source.xhtml#l00032">TypeLoader.cpp:32</a></div></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>  std::string value;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  stream >> value;</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a> = <a class="code" href="namespacearm__compute.xhtml#a307a55b07dc70dc9177ff26543b1c66f">data_type_from_name</a>(value);</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keywordflow">return</span> stream;</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_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="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">ConvolutionLayer.cpp:174</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a307a55b07dc70dc9177ff26543b1c66f"><div class="ttname"><a href="namespacearm__compute.xhtml#a307a55b07dc70dc9177ff26543b1c66f">arm_compute::data_type_from_name</a></div><div class="ttdeci">arm_compute::DataType data_type_from_name(const std::string &name)</div><div class="ttdoc">Converts a string to a strong types enumeration DataType.</div><div class="ttdef"><b>Definition:</b> <a href="_type_loader_8cpp_source.xhtml#l00032">TypeLoader.cpp:32</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a9c4a3d0e80938810dd7b22b16785f5c8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9c4a3d0e80938810dd7b22b16785f5c8">◆ </a></span>operator>>() <span class="overload">[3/3]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a9c4a3d0e80938810dd7b22b16785f5c8">◆ </a></span>operator>>() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -17946,8 +19112,7 @@
<dl class="section return"><dt>Returns</dt><dd>Updated stream </dd></dl>
<p class="definition">Definition at line <a class="el" href="_type_loader_8h_source.xhtml#l00071">71</a> of file <a class="el" href="_type_loader_8h_source.xhtml">TypeLoader.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>  std::string value;</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  stream >> value;</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">data_layout</a> = <a class="code" href="namespacearm__compute.xhtml#a834b76c7d21af898f39def3b787d7530">data_layout_from_name</a>(value);</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keywordflow">return</span> stream;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a786677cbfb3f5677b4d84f3056eb08db"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">arm_compute::test::validation::data_layout</a></div><div class="ttdeci">data_layout</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00251">Winograd.cpp:251</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a834b76c7d21af898f39def3b787d7530"><div class="ttname"><a href="namespacearm__compute.xhtml#a834b76c7d21af898f39def3b787d7530">arm_compute::data_layout_from_name</a></div><div class="ttdeci">arm_compute::DataLayout data_layout_from_name(const std::string &name)</div><div class="ttdoc">Converts a string to a strong types enumeration DataLayout. </div><div class="ttdef"><b>Definition:</b> <a href="_type_loader_8cpp_source.xhtml#l00051">TypeLoader.cpp:51</a></div></div>
+<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>  std::string value;</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  stream >> value;</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  data_layout = <a class="code" href="namespacearm__compute.xhtml#a834b76c7d21af898f39def3b787d7530">data_layout_from_name</a>(value);</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keywordflow">return</span> stream;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a834b76c7d21af898f39def3b787d7530"><div class="ttname"><a href="namespacearm__compute.xhtml#a834b76c7d21af898f39def3b787d7530">arm_compute::data_layout_from_name</a></div><div class="ttdeci">arm_compute::DataLayout data_layout_from_name(const std::string &name)</div><div class="ttdoc">Converts a string to a strong types enumeration DataLayout.</div><div class="ttdef"><b>Definition:</b> <a href="_type_loader_8cpp_source.xhtml#l00056">TypeLoader.cpp:56</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -17985,22 +19150,22 @@
</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>
+<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,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 class="definition">Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00536">536</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
-
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00570">570</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="l00571"></a><span class="lineno"> 571</span> {</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>  <span class="keyword">auto</span> dimensions_copy = utility::make_array<Dimensions<T>::num_max_dimensions>(dimensions.begin(), dimensions.end());</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</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="l00574"></a><span class="lineno"> 574</span>  {</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  T dimension_val = (perm[i] < dimensions.num_dimensions()) ? dimensions_copy[perm[i]] : 0;</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>  dimensions.set(i, dimension_val);</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>  }</div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span> }</div></div><!-- fragment -->
<p class="reference">References <a class="el" href="_dimensions_8h_source.xhtml#l00173">Dimensions< T >::begin()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00197">Dimensions< T >::end()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00122">Dimensions< T >::num_dimensions()</a>, and <a class="el" href="_dimensions_8h_source.xhtml#l00074">Dimensions< T >::set()</a>.</p>
-<p class="reference">Referenced by <a class="el" href="_c_l_permute_kernel_8cpp_source.xhtml#l00039">CLPermuteKernel::CLPermuteKernel()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00055">arm_compute::misc::shape_calculator::compute_permutation_output_shape()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00045">NEDepthwiseConvolutionLayer3x3::configure()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00268">NEDepthwiseConvolutionLayer::configure()</a>, <a class="el" href="_permute_layer_node_8cpp_source.xhtml#l00059">PermuteLayerNode::configure_output()</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00453">AssetsLibrary::fill()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00396">NPYLoader::fill_tensor()</a>, <a class="el" href="_graph_utils_8h_source.xhtml#l00506">arm_compute::graph_utils::permute_shape()</a>, and <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00401">NEDepthwiseConvolutionLayer::validate()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00537"></a><span class="lineno"> 537</span> {</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>  <span class="keyword">auto</span> dimensions_copy = utility::make_array<Dimensions<T>::num_max_dimensions>(dimensions.begin(), dimensions.end());</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</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="l00540"></a><span class="lineno"> 540</span>  {</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>  T dimension_val = (perm[i] < dimensions.num_dimensions()) ? dimensions_copy[perm[i]] : 0;</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>  dimensions.set(i, dimension_val);</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> }</div></div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="_shape_calculator_8h_source.xhtml#l00071">arm_compute::misc::shape_calculator::compute_permutation_output_shape()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00045">NEDepthwiseConvolutionLayer3x3::configure()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00268">NEDepthwiseConvolutionLayer::configure()</a>, <a class="el" href="_permute_layer_node_8cpp_source.xhtml#l00059">PermuteLayerNode::configure_output()</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00522">AssetsLibrary::fill()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00396">NPYLoader::fill_tensor()</a>, <a class="el" href="_graph_utils_8h_source.xhtml#l00569">arm_compute::graph_utils::permute_shape()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_8cpp_source.xhtml#l00128">CLDepthwiseConvolutionLayer3x3::validate()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00401">NEDepthwiseConvolutionLayer::validate()</a>, <a class="el" href="_validation_8h_source.xhtml#l00381">arm_compute::test::validation::validate()</a>, and <a class="el" href="_validation_8h_source.xhtml#l00456">arm_compute::test::validation::validate_wrap()</a>.</p>
+
</div>
</div>
<a id="a5045aaec85553032a782c44ab8d26341"></a>
@@ -18037,7 +19202,7 @@
</table>
</div><div class="memdoc">
-<p>Permutes given <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml" title="Shape of a tensor. ">TensorShape</a> according to a permutation vector. </p>
+<p>Permutes given <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml" title="Shape of a tensor.">TensorShape</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">
@@ -18047,11 +19212,60 @@
</dd>
</dl>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">553</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_helpers_8inl_source.xhtml#l00201">auto_init_if_empty()</a>, <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00184">calculate_valid_region_scale()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00308">coords2index()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00251">arm_compute::test::validation::data_layout</a>, <a class="el" href="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00174">arm_compute::test::validation::data_type</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00326">get_data_layout_dimension_index()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00289">index2coords()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00122">Dimensions< T >::num_dimensions()</a>, <a class="el" href="_tensor_shape_8h_source.xhtml#l00078">TensorShape::set()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00267">set_data_layout_if_unknown()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00256">set_data_type_if_unknown()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00245">set_format_if_unknown()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00278">set_quantization_info_if_empty()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00234">set_shape_if_empty()</a>, and <a class="el" href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00096">arm_compute::test::validation::shape</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>  TensorShape shape_copy = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>;</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</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="l00557"></a><span class="lineno"> 557</span>  {</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>  <span class="keywordtype">size_t</span> dimension_val = (perm[i] < <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>.num_dimensions()) ? shape_copy[perm[i]] : 1;</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>.set(i, dimension_val, <span class="keyword">false</span>); <span class="comment">// Avoid changes in _num_dimension</span></div><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> }</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_arithmetic_division_8cpp_source.xhtml#l00096">ArithmeticDivision.cpp:96</a></div></div>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00587">587</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="l00588"></a><span class="lineno"> 588</span> {</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>  TensorShape shape_copy = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>;</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</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="l00591"></a><span class="lineno"> 591</span>  {</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>  <span class="keywordtype">size_t</span> dimension_val = (perm[i] < <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>.num_dimensions()) ? shape_copy[perm[i]] : 1;</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>.set(i, dimension_val, <span class="keyword">false</span>); <span class="comment">// Avoid changes in _num_dimension</span></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> }</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_absolute_difference_8cpp_source.xhtml#l00097">AbsoluteDifference.cpp:97</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_dimensions_8h_source.xhtml#l00122">Dimensions< T >::num_dimensions()</a>, and <a class="el" href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00097">arm_compute::test::validation::shape</a>.</p>
+
+</div>
+</div>
+<a id="afcd35973f3a5d2d4d3015e155f185a81"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afcd35973f3a5d2d4d3015e155f185a81">◆ </a></span>permute_strides()</h2>
+
+<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_strides </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 the given dimensions according the permutation vector. </p>
+<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 be permuted. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">perm</td><td><a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information.">Vector</a> describing the permutation. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00815">815</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="l00816"></a><span class="lineno"> 816</span> {</div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>  <span class="keyword">const</span> <span class="keyword">auto</span> old_dim = utility::make_array<Dimensions<T>::num_max_dimensions>(dimensions.begin(), dimensions.end());</div><div class="line"><a name="l00818"></a><span class="lineno"> 818</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="l00819"></a><span class="lineno"> 819</span>  {</div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>  T dimension_val = old_dim[i];</div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>  dimensions.set(perm[i], dimension_val);</div><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> }</div></div><!-- fragment -->
+<p class="reference">References <a class="el" href="_dimensions_8h_source.xhtml#l00173">Dimensions< T >::begin()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00197">Dimensions< T >::end()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00122">Dimensions< T >::num_dimensions()</a>, and <a class="el" href="_dimensions_8h_source.xhtml#l00074">Dimensions< T >::set()</a>.</p>
+
</div>
</div>
<a id="ab7b3af731907e85fcaf72555c446176b"></a>
@@ -18145,14 +19359,12 @@
<dl class="section return"><dt>Returns</dt><dd>The pixel at (x, y) using area interpolation. </dd></dl>
<p class="definition">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 class="reference">References <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>, <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_utility_8h_source.xhtml#l00091">arm_compute::utility::for_each()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, and <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_n_e_scale_kernel_8cpp_source.xhtml#l00285">NEScaleKernel::configure()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00237">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="_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 = std::max(-1.f, std::min(in_x, static_cast<float>(width)));</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  in_y = std::max(-1.f, std::min(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="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#l00337">Error.h:337</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="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 = std::max(-1.f, std::min(in_x, static_cast<float>(width)));</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  in_y = std::max(-1.f, std::min(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>  <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(ptr, ptr + x_elements, <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a>);</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> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> / (x_elements * y_elements);</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span> }</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#l00337">Error.h:337</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><!-- fragment -->
+<p class="reference">References <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>, <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, and <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>.</p>
+
</div>
</div>
<a id="a1c8d639ec2b3086a9506e72605a32333"></a>
@@ -18214,14 +19426,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The pixel at (x, y) using bilinear interpolation. </dd></dl>
-<p class="definition">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 class="definition">Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00244">244</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="l00245"></a><span class="lineno"> 245</span> {</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</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="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> int32_t xi = std::floor(x);</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <span class="keyword">const</span> int32_t yi = std::floor(y);</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>  <span class="keyword">const</span> <span class="keywordtype">float</span> dx = x - xi;</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> dy = y - yi;</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> <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="l00255"></a><span class="lineno"> 255</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#l00337">Error.h:337</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#l00127">Helpers.h:127</a></div></div>
+</div><!-- fragment -->
<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00127">delta_bilinear_c1()</a>.</p>
-<p class="reference">Referenced by <a class="el" href="_n_e_warp_kernel_8cpp_source.xhtml#l00067">INEWarpKernel::configure()</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="_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>  <span class="keyword">const</span> int32_t xi = std::floor(x);</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="keyword">const</span> int32_t yi = std::floor(y);</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> dx = x - xi;</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> dy = y - yi;</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="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="l00221"></a><span class="lineno"> 221</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#l00337">Error.h:337</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#l00127">Helpers.h:127</a></div></div>
-</div><!-- fragment -->
</div>
</div>
<a id="afa55519774605e5b840fb031fdd7b196"></a>
@@ -18298,16 +19508,14 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The pixel at (x, y) using bilinear interpolation. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00237">237</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00127">delta_bilinear_c1()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00184">delta_linear_c1_x()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00159">delta_linear_c1_y()</a>, and <a class="el" href="_helpers_8inl_source.xhtml#l00032">pixel_area_c1u8_clamp()</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_n_e_remap_kernel_8cpp_source.xhtml#l00076">NERemapKernel::configure()</a>.</p>
-<div class="fragment"><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="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(first_pixel_ptr == <span class="keyword">nullptr</span>);</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>  x = std::max(-1.f, std::min(x, static_cast<float>(width)));</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  y = std::max(-1.f, std::min(y, static_cast<float>(height)));</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="keyword">const</span> <span class="keywordtype">float</span> xi = std::floor(x);</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> yi = std::floor(y);</div><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> <span class="keywordtype">float</span> dx = x - xi;</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> dy = y - yi;</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">if</span>(dx == 0.0f)</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">if</span>(dy == 0.0f)</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">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="l00255"></a><span class="lineno"> 255</span>  }</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</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="l00257"></a><span class="lineno"> 257</span>  }</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <span class="keywordflow">if</span>(dy == 0.0f)</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">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="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> <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="l00263"></a><span class="lineno"> 263</span> }</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#l00184">Helpers.h:184</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#l00337">Error.h:337</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#l00159">Helpers.h:159</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#l00127">Helpers.h:127</a></div></div>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00271">271</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="l00272"></a><span class="lineno"> 272</span> {</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</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="l00274"></a><span class="lineno"> 274</span> </div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  x = std::max(-1.f, std::min(x, static_cast<float>(width)));</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  y = std::max(-1.f, std::min(y, static_cast<float>(height)));</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span> </div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> xi = std::floor(x);</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> yi = std::floor(y);</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>  <span class="keyword">const</span> <span class="keywordtype">float</span> dx = x - xi;</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> dy = y - yi;</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">if</span>(dx == 0.0f)</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>  <span class="keywordflow">if</span>(dy == 0.0f)</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="keywordflow">return</span> static_cast<T>(first_pixel_ptr[static_cast<int32_t>(xi) + static_cast<int32_t>(yi) * stride]);</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">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="l00291"></a><span class="lineno"> 291</span>  }</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <span class="keywordflow">if</span>(dy == 0.0f)</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="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="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="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="l00297"></a><span class="lineno"> 297</span> }</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's distance between th...</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00218">Helpers.h:218</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#l00337">Error.h:337</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's distance between the...</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00193">Helpers.h:193</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#l00127">Helpers.h:127</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00127">delta_bilinear_c1()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00218">delta_linear_c1_x()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00193">delta_linear_c1_y()</a>.</p>
+
</div>
</div>
<a id="a4823543d67a2520c98669e2a5608ef6a"></a>
@@ -18344,12 +19552,12 @@
<dl class="section return"><dt>Returns</dt><dd>The size in bytes of the pixel format </dd></dl>
<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00142">142</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="l00143"></a><span class="lineno"> 143</span> {</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keywordflow">switch</span>(format)</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="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="comment">//Doesn't make sense for planar formats:</span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</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="l00170"></a><span class="lineno"> 170</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  }</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</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#l00261">Error.h:261</a></div></div>
+</div><!-- fragment -->
<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">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>
<p class="reference">Referenced by <a class="el" href="_n_e_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00678">NEHOGOrientationBinningKernel::run()</a>, and <a class="el" href="_n_e_sobel7x7_kernel_8cpp_source.xhtml#l00355">NESobel7x7VertKernel::run()</a>.</p>
-<div class="fragment"><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">switch</span>(format)</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="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="comment">//Doesn't make sense for planar formats:</span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</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="l00170"></a><span class="lineno"> 170</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  }</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</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#l00261">Error.h:261</a></div></div>
-</div><!-- fragment -->
+
</div>
</div>
<a id="a4f6fe18760340bcec02d095b7099e923"></a>
@@ -18397,55 +19605,32 @@
<dl class="section return"><dt>Returns</dt><dd>The plane index of the specific channel of the specific format </dd></dl>
<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00249">249</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="l00250"></a><span class="lineno"> 250</span> {</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <span class="keywordflow">switch</span>(format)</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">// Single planar formats have a single plane</span></div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <span class="comment">// Multi planar formats</span></div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <span class="keywordflow">case</span> Format::NV21:</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="comment">// Channel U and V share the same plane of format UV88</span></div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <span class="keywordflow">switch</span>(channel)</div><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>  <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">Channel::U</a>:</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</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="l00281"></a><span class="lineno"> 281</span>  <span class="keywordflow">return</span> 0;</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>  }</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="keywordflow">case</span> Format::YUV444:</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">switch</span>(channel)</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>  <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">Channel::U</a>:</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</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="l00297"></a><span class="lineno"> 297</span>  <span class="keywordflow">return</span> 0;</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>  }</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</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="l00302"></a><span class="lineno"> 302</span>  <span class="keywordflow">return</span> 0;</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> }</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#l00261">Error.h:261</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1utils_1_1cast_xhtml_a2ea3d1fc01a3a442900249ca182ffa5e"><div class="ttname"><a href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">arm_compute::utils::cast::U</a></div><div class="ttdeci">U</div><div class="ttdef"><b>Definition:</b> <a href="_saturate_cast_8h_source.xhtml#l00057">SaturateCast.h:57</a></div></div>
+</div><!-- fragment -->
<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">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#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</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#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>.</p>
<p class="reference">Referenced by <a class="el" href="reference_2_channel_extract_8cpp_source.xhtml#l00038">arm_compute::test::validation::reference::channel_extract()</a>, <a class="el" href="_c_l_channel_extract_kernel_8cpp_source.xhtml#l00107">CLChannelExtractKernel::configure()</a>, and <a class="el" href="_n_e_channel_extract_kernel_8cpp_source.xhtml#l00126">NEChannelExtractKernel::configure()</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="keywordflow">switch</span>(format)</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">// Single planar formats have a single plane</span></div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <span class="comment">// Multi planar formats</span></div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <span class="keywordflow">case</span> Format::NV21:</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="comment">// Channel U and V share the same plane of format UV88</span></div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <span class="keywordflow">switch</span>(channel)</div><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>  <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</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="l00281"></a><span class="lineno"> 281</span>  <span class="keywordflow">return</span> 0;</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>  }</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="keywordflow">case</span> Format::YUV444:</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">switch</span>(channel)</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>  <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</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="l00297"></a><span class="lineno"> 297</span>  <span class="keywordflow">return</span> 0;</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>  }</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</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="l00302"></a><span class="lineno"> 302</span>  <span class="keywordflow">return</span> 0;</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> }</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#l00261">Error.h:261</a></div></div>
-</div><!-- fragment -->
+
</div>
</div>
-<a id="ab345de887f15705698d993b97d848bdc"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab345de887f15705698d993b97d848bdc">◆ </a></span>print_consecutive_elements()</h2>
+<a id="a1bd532ddb5d86290e40c0b482eb476f2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1bd532ddb5d86290e40c0b482eb476f2">◆ </a></span>preferred_vector_width()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void print_consecutive_elements </td>
+ <td class="memname">size_t preferred_vector_width </td>
<td>(</td>
- <td class="paramtype">std::ostream & </td>
- <td class="paramname"><em>s</em>, </td>
+ <td class="paramtype">const cl::Device & </td>
+ <td class="paramname"><em>device</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> </td>
- <td class="paramname"><em>dt</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const uint8_t * </td>
- <td class="paramname"><em>ptr</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">unsigned int </td>
- <td class="paramname"><em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>stream_width</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const std::string & </td>
- <td class="paramname"><em>element_delim</em> = <code>" "</code> </td>
+ <td class="paramname"><em>dt</em> </td>
</tr>
<tr>
<td></td>
@@ -18455,88 +19640,20 @@
</table>
</div><div class="memdoc">
-<p>Print consecutive elements to an output stream. </p>
+<p>Helper function to get the preferred native vector width size for built-in scalar types that can be put into vectors. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramdir">[out]</td><td class="paramname">s</td><td>Output stream to print the elements to. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Data type of the elements </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to print the elements from. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of elements to print. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">stream_width</td><td>(Optional) Width of the stream. If set to 0 the element's width is used. Defaults to 0. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">element_delim</td><td>(Optional) Delimeter among the consecutive elements. Defaults to space delimeter </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>A CL device </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>data type</td></tr>
</table>
</dd>
</dl>
+<dl class="section return"><dt>Returns</dt><dd>preferred vector width </dd></dl>
-<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00394">394</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
+<p class="definition">Definition at line <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00234">234</a> of file <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml">CLHelpers.cpp</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="keywordflow">switch</span>(dt)</div><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">case</span> DataType::U8:</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <span class="keywordflow">return</span> device.getInfo<CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR>();</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <span class="keywordflow">return</span> device.getInfo<CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT>();</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keywordflow">return</span> device.getInfo<CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT>();</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <span class="keywordflow">return</span> device.getInfo<CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT>();</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <span class="keywordflow">return</span> device.getInfo<CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG>();</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <span class="keywordflow">return</span> 1;</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> }</div></div><!-- fragment -->
+<p class="reference">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#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</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#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 class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">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#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 class="reference">Referenced by <a class="el" href="_i_tensor_8cpp_source.xhtml#l00074">ITensor::print()</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">switch</span>(dt)</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>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  print_consecutive_elements_impl<uint8_t>(s, ptr, n, stream_width, element_delim);</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  print_consecutive_elements_impl<int8_t>(s, <span class="keyword">reinterpret_cast<</span><span class="keyword">const </span>int8_t *<span class="keyword">></span>(ptr), n, stream_width, element_delim);</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  print_consecutive_elements_impl<uint16_t>(s, <span class="keyword">reinterpret_cast<</span><span class="keyword">const </span>uint16_t *<span class="keyword">></span>(ptr), n, stream_width, element_delim);</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  print_consecutive_elements_impl<int16_t>(s, <span class="keyword">reinterpret_cast<</span><span class="keyword">const </span>int16_t *<span class="keyword">></span>(ptr), n, stream_width, element_delim);</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  print_consecutive_elements_impl<uint32_t>(s, <span class="keyword">reinterpret_cast<</span><span class="keyword">const </span>uint32_t *<span class="keyword">></span>(ptr), n, stream_width, element_delim);</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  print_consecutive_elements_impl<int32_t>(s, <span class="keyword">reinterpret_cast<</span><span class="keyword">const </span>int32_t *<span class="keyword">></span>(ptr), n, stream_width, element_delim);</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  print_consecutive_elements_impl<float>(s, <span class="keyword">reinterpret_cast<</span><span class="keyword">const </span><span class="keywordtype">float</span> *<span class="keyword">></span>(ptr), n, stream_width, element_delim);</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  print_consecutive_elements_impl<half>(s, <span class="keyword">reinterpret_cast<</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">half</a> *<span class="keyword">></span>(ptr), n, stream_width, element_delim);</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</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="l00425"></a><span class="lineno"> 425</span>  }</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</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#l00261">Error.h:261</a></div></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#l00044">Types.h:44</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="aa3a28b8acd21301990e06377c64e1276"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa3a28b8acd21301990e06377c64e1276">◆ </a></span>print_consecutive_elements_impl()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void arm_compute::print_consecutive_elements_impl </td>
- <td>(</td>
- <td class="paramtype">std::ostream & </td>
- <td class="paramname"><em>s</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const T * </td>
- <td class="paramname"><em>ptr</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">unsigned int </td>
- <td class="paramname"><em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>stream_width</em> = <code>0</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const std::string & </td>
- <td class="paramname"><em>element_delim</em> = <code>" "</code> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Print consecutive elements to an output stream. </p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[out]</td><td class="paramname">s</td><td>Output stream to print the elements to. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to print the elements from. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of elements to print. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">stream_width</td><td>(Optional) Width of the stream. If set to 0 the element's width is used. Defaults to 0. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">element_delim</td><td>(Optional) Delimeter among the consecutive elements. Defaults to space delimeter </td></tr>
- </table>
- </dd>
-</dl>
-
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01036">1036</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="l01037"></a><span class="lineno"> 1037</span> {</div><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>  <span class="keyword">using</span> print_type = <span class="keyword">typename</span> std::conditional<std::is_floating_point<T>::value, T, <span class="keywordtype">int</span>>::type;</div><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> </div><div class="line"><a name="l01040"></a><span class="lineno"> 1040</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="l01041"></a><span class="lineno"> 1041</span>  {</div><div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>  <span class="comment">// Set stream width as it is not a "sticky" stream manipulator</span></div><div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>  <span class="keywordflow">if</span>(stream_width != 0)</div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>  {</div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>  s.width(stream_width);</div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>  }</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">if</span>(std::is_same<<span class="keyword">typename</span> std::decay<T>::type, <a class="code" href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">half</a>>::value)</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>  {</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</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="l01051"></a><span class="lineno"> 1051</span>  s << std::right << static_cast<T>(ptr[i]) << element_delim;</div><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="keywordflow">else</span></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>  s << std::right << static_cast<print_type>(ptr[i]) << element_delim;</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> }</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#l00044">Types.h:44</a></div></div>
-</div><!-- fragment -->
</div>
</div>
<a id="ae0d288429eb20baf6da6109f3a21e6bb"></a>
@@ -18575,15 +19692,11 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The content of the file. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00046">46</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00265">arm_compute::test::validation::in</a>, and <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00266">arm_compute::test::validation::out</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_g_c_kernel_library_8cpp_source.xhtml#l00340">GCKernelLibrary::create_kernel()</a>, and <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l00979">CLKernelLibrary::int64_base_atomics_supported()</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>  std::string <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  std::ifstream fs;</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">try</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>  fs.exceptions(std::ifstream::failbit | std::ifstream::badbit);</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  std::ios_base::openmode mode = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">std::ios::in</a>;</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="keywordflow">if</span>(binary)</div><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>  mode |= std::ios::binary;</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> </div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  fs.open(filename, mode);</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="comment">// Go to the end of the file</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  fs.seekg(0, std::ios::end);</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="comment">// Reserve the memory required to store the file's content</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  out.reserve(fs.tellg());</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="comment">// Go back to the beginning of the file</span></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  fs.seekg(0, std::ios::beg);</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="comment">// Copy the content of the file</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  out.assign(std::istreambuf_iterator<char>(fs), std::istreambuf_iterator<char>());</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>  <span class="keywordflow">catch</span>(<span class="keyword">const</span> std::ifstream::failure &e)</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>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Accessing %s: %s"</span>, filename.c_str(), e.what());</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> </div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</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#l00261">Error.h:261</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad366eaa4cf2d106037d91c30795a5c76"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">arm_compute::test::validation::in</a></div><div class="ttdeci">CLTensor in</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00265">Winograd.cpp:265</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_af8a8a0625e7981212a0af48deb9d2a09"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">arm_compute::test::validation::out</a></div><div class="ttdeci">CLTensor out</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00266">Winograd.cpp:266</a></div></div>
+<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00047">47</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</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>  std::string out;</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  std::ifstream fs;</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="preprocessor">#ifndef ARM_COMPUTE_EXCEPTIONS_DISABLED</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keywordflow">try</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="preprocessor">#endif </span><span class="comment">/* ARM_COMPUTE_EXCEPTIONS_DISABLED */</span><span class="preprocessor"></span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  fs.exceptions(std::ifstream::failbit | std::ifstream::badbit);</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  std::ios_base::openmode mode = std::ios::in;</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">if</span>(binary)</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>  mode |= std::ios::binary;</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>  fs.open(filename, mode);</div><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>  <span class="comment">// Go to the end of the file</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  fs.seekg(0, std::ios::end);</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="comment">// Reserve the memory required to store the file's content</span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  out.reserve(fs.tellg());</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="comment">// Go back to the beginning of the file</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  fs.seekg(0, std::ios::beg);</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="comment">// Copy the content of the file</span></div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  out.assign(std::istreambuf_iterator<char>(fs), std::istreambuf_iterator<char>());</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="preprocessor">#ifndef ARM_COMPUTE_EXCEPTIONS_DISABLED</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">catch</span>(<span class="keyword">const</span> std::ifstream::failure &e)</div><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>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Accessing %s: %s"</span>, filename.c_str(), e.what());</div><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="preprocessor">#endif </span><span class="comment">/* ARM_COMPUTE_EXCEPTIONS_DISABLED */</span><span class="preprocessor"></span></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> out;</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</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#l00261">Error.h:261</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>.</p>
+
</div>
</div>
<a id="aaae2b6b1c3f4404121346a4c27b22647"></a>
@@ -18624,15 +19737,14 @@
<dl class="section return"><dt>Returns</dt><dd>Rounded value of the argument x. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_rounding_8cpp_source.xhtml#l00035">35</a> of file <a class="el" href="_rounding_8cpp_source.xhtml">Rounding.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="_toolchain_support_8h_source.xhtml#l00240">arm_compute::support::cpp11::round()</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>
-
-<p class="reference">Referenced by <a class="el" href="_asymm_helpers_8cpp_source.xhtml#l00073">arm_compute::quantization::calculate_quantized_multiplier_greater_than_one()</a>, <a class="el" href="_asymm_helpers_8cpp_source.xhtml#l00035">arm_compute::quantization::calculate_quantized_multiplier_less_than_one()</a>, <a class="el" href="optical__flow__pyramid__lk_8cl_source.xhtml#l00157">finalize()</a>, <a class="el" href="optical__flow__pyramid__lk_8cl_source.xhtml#l00211">lktracker_stage0()</a>, <a class="el" href="optical__flow__pyramid__lk_8cl_source.xhtml#l00361">lktracker_stage1()</a>, <a class="el" href="activation__layer__qa8_8cl_source.xhtml#l00030">logistic_op()</a>, <a class="el" href="pooling__layer__quantized_8cl_source.xhtml#l00080">pooling_layer_MxN_quantized_nchw()</a>, <a class="el" href="pooling__layer__quantized_8cl_source.xhtml#l00174">pooling_layer_MxN_quantized_nhwc()</a>, and <a class="el" href="roi__pooling__layer_8cl_source.xhtml#l00123">roi_pooling_layer()</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>  <span class="keyword">using namespace </span><a class="code" href="namespacestd.xhtml">std</a>;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <span class="keywordtype">int</span> rounded = 0;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</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="l00040"></a><span class="lineno"> 40</span>  {</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="keywordflow">case</span> RoundingPolicy::TO_ZERO:</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  {</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  rounded = <span class="keyword">static_cast<</span><span class="keywordtype">int</span><span class="keyword">></span>(x);</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keywordflow">break</span>;</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="keywordflow">case</span> RoundingPolicy::TO_NEAREST_UP:</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>  rounded = <span class="keyword">static_cast<</span><span class="keywordtype">int</span><span class="keyword">></span>(<a class="code" href="namespacearm__compute.xhtml#aaae2b6b1c3f4404121346a4c27b22647">support::cpp11::round</a>(x));</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keywordflow">break</span>;</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">case</span> RoundingPolicy::TO_NEAREST_EVEN:</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>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"TO_NEAREST_EVEN rounding policy is not supported."</span>);</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keywordflow">break</span>;</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="keywordflow">default</span>:</div><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="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Unsupported rounding policy."</span>);</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keywordflow">break</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>  }</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">return</span> rounded;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</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#l00261">Error.h:261</a></div></div>
-<div class="ttc" id="namespacestd_xhtml"><div class="ttname"><a href="namespacestd.xhtml">std</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_aaae2b6b1c3f4404121346a4c27b22647"><div class="ttname"><a href="namespacearm__compute.xhtml#aaae2b6b1c3f4404121346a4c27b22647">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 class="ttdef"><b>Definition:</b> <a href="_rounding_8cpp_source.xhtml#l00035">Rounding.cpp:35</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>  <span class="keyword">using namespace </span>std;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <span class="keywordtype">int</span> rounded = 0;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</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="l00040"></a><span class="lineno"> 40</span>  {</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="keywordflow">case</span> RoundingPolicy::TO_ZERO:</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  {</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  rounded = static_cast<int>(x);</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keywordflow">break</span>;</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="keywordflow">case</span> RoundingPolicy::TO_NEAREST_UP:</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>  rounded = static_cast<int>(<a class="code" href="namespacearm__compute.xhtml#aaae2b6b1c3f4404121346a4c27b22647">support::cpp11::round</a>(x));</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keywordflow">break</span>;</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">case</span> RoundingPolicy::TO_NEAREST_EVEN:</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>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"TO_NEAREST_EVEN rounding policy is not supported."</span>);</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keywordflow">break</span>;</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="keywordflow">default</span>:</div><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="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Unsupported rounding policy."</span>);</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keywordflow">break</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>  }</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">return</span> rounded;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</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#l00261">Error.h:261</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_aaae2b6b1c3f4404121346a4c27b22647"><div class="ttname"><a href="namespacearm__compute.xhtml#aaae2b6b1c3f4404121346a4c27b22647">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 class="ttdef"><b>Definition:</b> <a href="_rounding_8cpp_source.xhtml#l00035">Rounding.cpp:35</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#l00168">PixelWiseMultiplication.cpp:168</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="_toolchain_support_8h_source.xhtml#l00240">arm_compute::support::cpp11::round()</a>, <a class="el" href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00168">arm_compute::test::validation::rounding_policy</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>
+
+<p class="reference">Referenced by <a class="el" href="activation__layer__qa8_8cl_source.xhtml#l00161">activation_layer_logistic_qa8()</a>, <a class="el" href="_asymm_helpers_8cpp_source.xhtml#l00073">arm_compute::quantization::calculate_quantized_multiplier_greater_than_one()</a>, <a class="el" href="_asymm_helpers_8cpp_source.xhtml#l00035">arm_compute::quantization::calculate_quantized_multiplier_less_than_one()</a>, <a class="el" href="optical__flow__pyramid__lk_8cl_source.xhtml#l00157">finalize()</a>, <a class="el" href="optical__flow__pyramid__lk_8cl_source.xhtml#l00211">lktracker_stage0()</a>, <a class="el" href="optical__flow__pyramid__lk_8cl_source.xhtml#l00361">lktracker_stage1()</a>, <a class="el" href="pooling__layer__quantized_8cl_source.xhtml#l00080">pooling_layer_MxN_quantized_nchw()</a>, <a class="el" href="pooling__layer__quantized_8cl_source.xhtml#l00174">pooling_layer_MxN_quantized_nhwc()</a>, and <a class="el" href="roi__pooling__layer_8cl_source.xhtml#l00125">roi_pooling_layer()</a>.</p>
+
</div>
</div>
<a id="a5e28a3911204ac952601f512c82b48f1"></a>
@@ -18673,7 +19785,7 @@
<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">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>
@@ -18681,9 +19793,62 @@
<dl class="section return"><dt>Returns</dt><dd>the nearest division by a power-of-two using exponent </dd></dl>
<p class="definition">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>
-
-<p class="reference">Referenced by <a class="el" href="_n_e_asymm_8h_source.xhtml#l00074">finalize_quantization()</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 -->
+<p class="reference">Referenced by <a class="el" href="_n_e_asymm_8h_source.xhtml#l00074">finalize_quantization()</a>.</p>
+
+</div>
+</div>
+<a id="a57de30d9ebd8eed0393798583555dd16"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a57de30d9ebd8eed0393798583555dd16">◆ </a></span>run_reverse()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void arm_compute::run_reverse </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_1_i_tensor.xhtml">ITensor</a> * </td>
+ <td class="paramname"><em>input</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>axis</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> * </td>
+ <td class="paramname"><em>output</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_n_e_reverse_kernel_8cpp_source.xhtml#l00103">103</a> of file <a class="el" href="_n_e_reverse_kernel_8cpp_source.xhtml">NEReverseKernel.cpp</a>.</p>
+<div class="fragment"><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>  <span class="keywordtype">int</span> axis_bit = 0;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#accc088009d44c521706aa98d6387ee21">axis</a>->info()->dimension(0); ++i)</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  {</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> axis_i = *(reinterpret_cast<const int *>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#accc088009d44c521706aa98d6387ee21">axis</a>->buffer()) + i);</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  axis_bit |= 1 << axis_i;</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>  <span class="comment">// Check if we need a left-over loop for the y dimension</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> window_step_x = 16 / input->info()->element_size();</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> window_start_x = window.x().start();</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> window_end_x = std::min(window.x().end(), static_cast<int>(input->info()->dimension(0)));</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> window_end_x_multiple_of = ((window_end_x - window_start_x) / window_step_x) * window_step_x;</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keywordtype">bool</span> left_over_loop_x = (((window_end_x - window_start_x) % window_step_x) != 0);</div><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>  Window <a class="code" href="namespacearm__compute_1_1test_1_1validation_1_1reference.xhtml#a548131b3d37da47a2e9d32111c88dfe1">slice</a> = window.first_slice_window_4D();</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">if</span>(left_over_loop_x)</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  {</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="comment">// Check if window_end_y_multiple_of is greater than window_start_y</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keywordflow">if</span>(window_end_x_multiple_of > window_start_x)</div><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>  <a class="code" href="namespacearm__compute_1_1test_1_1validation_1_1reference.xhtml#a548131b3d37da47a2e9d32111c88dfe1">slice</a>.set(Window::DimX, Window::Dimension(window_start_x, window_end_x_multiple_of, window_step_x));</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">else</span></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>  <a class="code" href="namespacearm__compute_1_1test_1_1validation_1_1reference.xhtml#a548131b3d37da47a2e9d32111c88dfe1">slice</a>.set(Window::DimX, Window::Dimension(0, 0, 1));</div><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>  }</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">do</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>  Iterator input_it(input, <a class="code" href="namespacearm__compute_1_1test_1_1validation_1_1reference.xhtml#a548131b3d37da47a2e9d32111c88dfe1">slice</a>);</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation_1_1reference.xhtml#a548131b3d37da47a2e9d32111c88dfe1">slice</a>, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</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="keyword">auto</span> in = <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a77f54eded7fef436d3a4f21ad5a00da6">wrapper::vloadq</a>(reinterpret_cast<T *>(input_it.ptr()));</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="comment">// Reverse 0 axis</span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordflow">if</span>(axis_bit & 0x1)</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>  in = <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#aa7a641703a9c98932d775d915bf7a3e5">wrapper::vrev64</a>(in);</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  in = <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a1598e7eb12a58fc53559332cd0c3ab6f">wrapper::vcombine</a>(<a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a95ee388aa7c5bccab918235dc538a6b3">wrapper::vgethigh</a>(in), <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a2902775707bc7bf7d6da1bda1cc15783">wrapper::vgetlow</a>(in));</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  }</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> offset_x = (axis_bit & 0x1) ? output->info()->dimension(0) - <span class="keywordtype">id</span>.x() - window_step_x : <span class="keywordtype">id</span>.x();</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> offset_y = (axis_bit & 0x2) ? output->info()->dimension(1) - <span class="keywordtype">id</span>.y() - 1 : <span class="keywordtype">id</span>.y();</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> offset_z = (axis_bit & 0x4) ? output->info()->dimension(2) - <span class="keywordtype">id</span>.z() - 1 : <span class="keywordtype">id</span>.z();</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> offset_w = (axis_bit & 0x8) ? output->info()->dimension(3) - <span class="keywordtype">id</span>[3] - 1 : <span class="keywordtype">id</span>[3];</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keyword">auto</span> out_ptr = reinterpret_cast<T *>(output->ptr_to_element(Coordinates(offset_x, offset_y, offset_z, offset_w)));</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#ae7943ea9c1f74dc72c62d4cc3966a459">wrapper::vstore</a>(out_ptr, in);</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>  input_it);</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keywordflow">if</span>(left_over_loop_x)</div><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="namespacearm__compute_1_1test_1_1validation_1_1reference.xhtml#a548131b3d37da47a2e9d32111c88dfe1">slice</a>.set(Window::DimX, Window::Dimension(window_end_x_multiple_of, window_end_x, 1));</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>  Iterator input_it(input, <a class="code" href="namespacearm__compute_1_1test_1_1validation_1_1reference.xhtml#a548131b3d37da47a2e9d32111c88dfe1">slice</a>);</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="comment">// Compute left-over elements along the y dimension (1x1)</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <a class="code" href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">execute_window_loop</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation_1_1reference.xhtml#a548131b3d37da47a2e9d32111c88dfe1">slice</a>, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div><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> <span class="keyword">auto</span> in = *reinterpret_cast<T *>(input_it.ptr());</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="keyword">const</span> <span class="keywordtype">int</span> offset_x = (axis_bit & 0x1) ? output->info()->dimension(0) - <span class="keywordtype">id</span>.x() - 1 : <span class="keywordtype">id</span>.x();</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> offset_y = (axis_bit & 0x2) ? output->info()->dimension(1) - <span class="keywordtype">id</span>.y() - 1 : <span class="keywordtype">id</span>.y();</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> offset_z = (axis_bit & 0x4) ? output->info()->dimension(2) - <span class="keywordtype">id</span>.z() - 1 : <span class="keywordtype">id</span>.z();</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> offset_w = (axis_bit & 0x8) ? output->info()->dimension(3) - <span class="keywordtype">id</span>[3] - 1 : <span class="keywordtype">id</span>[3];</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>  *reinterpret_cast<T *>(output->ptr_to_element(Coordinates(offset_x, offset_y, offset_z, offset_w))) = in;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  },</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  input_it);</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  }</div><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>  }</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <span class="keywordflow">while</span>(window.slide_window_slice_4D(<a class="code" href="namespacearm__compute_1_1test_1_1validation_1_1reference.xhtml#a548131b3d37da47a2e9d32111c88dfe1">slice</a>));</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span> }</div><div class="ttc" id="namespacearm__compute_1_1wrapper_xhtml_a77f54eded7fef436d3a4f21ad5a00da6"><div class="ttname"><a href="namespacearm__compute_1_1wrapper.xhtml#a77f54eded7fef436d3a4f21ad5a00da6">arm_compute::wrapper::vloadq</a></div><div class="ttdeci">uint8x16_t vloadq(const uint8_t *ptr)</div><div class="ttdef"><b>Definition:</b> <a href="load_8h_source.xhtml#l00058">load.h:58</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1wrapper_xhtml_a2902775707bc7bf7d6da1bda1cc15783"><div class="ttname"><a href="namespacearm__compute_1_1wrapper.xhtml#a2902775707bc7bf7d6da1bda1cc15783">arm_compute::wrapper::vgetlow</a></div><div class="ttdeci">uint8x8_t vgetlow(const uint8x16_t val)</div><div class="ttdef"><b>Definition:</b> <a href="getlow_8h_source.xhtml#l00039">getlow.h:39</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1wrapper_xhtml_a1598e7eb12a58fc53559332cd0c3ab6f"><div class="ttname"><a href="namespacearm__compute_1_1wrapper.xhtml#a1598e7eb12a58fc53559332cd0c3ab6f">arm_compute::wrapper::vcombine</a></div><div class="ttdeci">uint8x16_t vcombine(const uint8x8_t &a, const uint8x8_t &b)</div><div class="ttdef"><b>Definition:</b> <a href="combine_8h_source.xhtml#l00039">combine.h:39</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1wrapper_xhtml_a95ee388aa7c5bccab918235dc538a6b3"><div class="ttname"><a href="namespacearm__compute_1_1wrapper.xhtml#a95ee388aa7c5bccab918235dc538a6b3">arm_compute::wrapper::vgethigh</a></div><div class="ttdeci">uint8x8_t vgethigh(const uint8x16_t val)</div><div class="ttdef"><b>Definition:</b> <a href="gethigh_8h_source.xhtml#l00039">gethigh.h:39</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_accc088009d44c521706aa98d6387ee21"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#accc088009d44c521706aa98d6387ee21">arm_compute::test::validation::axis</a></div><div class="ttdeci">axis</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_stack_layer_8cpp_source.xhtml#l00226">StackLayer.cpp:226</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1wrapper_xhtml_aa7a641703a9c98932d775d915bf7a3e5"><div class="ttname"><a href="namespacearm__compute_1_1wrapper.xhtml#aa7a641703a9c98932d775d915bf7a3e5">arm_compute::wrapper::vrev64</a></div><div class="ttdeci">uint8x8_t vrev64(const uint8x8_t &a)</div><div class="ttdef"><b>Definition:</b> <a href="rev64_8h_source.xhtml#l00039">rev64.h:39</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1wrapper_xhtml_ae7943ea9c1f74dc72c62d4cc3966a459"><div class="ttname"><a href="namespacearm__compute_1_1wrapper.xhtml#ae7943ea9c1f74dc72c62d4cc3966a459">arm_compute::wrapper::vstore</a></div><div class="ttdeci">void vstore(uint8_t *ptr, uint8x8_t val)</div><div class="ttdef"><b>Definition:</b> <a href="store_8h_source.xhtml#l00039">store.h:39</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a5002bf7ec46d52971f9526e94172cfee"><div class="ttname"><a href="namespacearm__compute.xhtml#a5002bf7ec46d52971f9526e94172cfee">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#l00122">Helpers.inl:122</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_1_1reference_xhtml_a548131b3d37da47a2e9d32111c88dfe1"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation_1_1reference.xhtml#a548131b3d37da47a2e9d32111c88dfe1">arm_compute::test::validation::reference::slice</a></div><div class="ttdeci">SimpleTensor< T > slice(const SimpleTensor< T > &src, Coordinates starts, Coordinates ends)</div><div class="ttdef"><b>Definition:</b> <a href="_slice_operations_8cpp_source.xhtml#l00038">SliceOperations.cpp:38</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_n_e_o_n_2_stack_layer_8cpp_source.xhtml#l00226">arm_compute::test::validation::axis</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a178f0d3d87f959e00a743328d95359d2">ITensorInfo::dimension()</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#aa459796b5489eca8a9160cb5dcf1a103">ITensorInfo::element_size()</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_window_8h_source.xhtml#l00276">Window::first_slice_window_4D()</a>, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>, <a class="el" href="_i_tensor_8h_source.xhtml#l00063">ITensor::ptr_to_element()</a>, <a class="el" href="_slice_operations_8cpp_source.xhtml#l00038">arm_compute::test::validation::reference::slice()</a>, <a class="el" href="_window_8h_source.xhtml#l00324">Window::slide_window_slice_4D()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="combine_8h_source.xhtml#l00039">arm_compute::wrapper::vcombine()</a>, <a class="el" href="gethigh_8h_source.xhtml#l00039">arm_compute::wrapper::vgethigh()</a>, <a class="el" href="getlow_8h_source.xhtml#l00039">arm_compute::wrapper::vgetlow()</a>, <a class="el" href="load_8h_source.xhtml#l00058">arm_compute::wrapper::vloadq()</a>, <a class="el" href="rev64_8h_source.xhtml#l00039">arm_compute::wrapper::vrev64()</a>, <a class="el" href="store_8h_source.xhtml#l00039">arm_compute::wrapper::vstore()</a>, and <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>.</p>
+
</div>
</div>
<a id="a546c6bed3c307414e8d0934bc13259e5"></a>
@@ -18741,8 +19906,8 @@
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>Width of input tensor (Number of columns) </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">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">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">pad_stride_info</td><td>Pad and stride information. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">dilation</td><td>(Optional) Dilation, in elements, across x and y. Defaults to (1, 1).</td></tr>
</table>
@@ -18750,22 +19915,21 @@
</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 class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00352">352</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">CEIL</a>, <a class="el" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe">FLOOR</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00774">PadStrideInfo::pad_bottom()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00759">PadStrideInfo::pad_left()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00764">PadStrideInfo::pad_right()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00769">PadStrideInfo::pad_top()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00780">PadStrideInfo::round()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00733">PadStrideInfo::stride()</a>, <a class="el" href="_size2_d_8h_source.xhtml#l00077">Size2D::x()</a>, and <a class="el" href="_size2_d_8h_source.xhtml#l00086">Size2D::y()</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_shape_calculator_8h_source.xhtml#l00460">arm_compute::misc::shape_calculator::compute_deep_convolution_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00216">arm_compute::misc::shape_calculator::compute_depthwise_convolution_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00283">arm_compute::misc::shape_calculator::compute_im2col_conv_shape()</a>, <a class="el" href="_pooling_layer_node_8cpp_source.xhtml#l00047">PoolingLayerNode::compute_output_descriptor()</a>, <a class="el" href="_depthwise_convolution_layer_node_8cpp_source.xhtml#l00067">DepthwiseConvolutionLayerNode::compute_output_descriptor()</a>, <a class="el" href="_convolution_layer_node_8cpp_source.xhtml#l00086">ConvolutionLayerNode::compute_output_descriptor()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00496">arm_compute::misc::shape_calculator::compute_pool_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00433">arm_compute::misc::shape_calculator::compute_winograd_output_transform_shape()</a>, <a class="el" href="_g_c_pooling_layer_kernel_8cpp_source.xhtml#l00226">GCPoolingLayerKernel::configure()</a>, <a class="el" href="_n_e_pooling_layer_kernel_8cpp_source.xhtml#l00335">NEPoolingLayerKernel::configure()</a>, <a class="el" href="_g_c_direct_convolution_layer_kernel_8cpp_source.xhtml#l00053">GCDirectConvolutionLayerKernel< kernel_size >::configure()</a>, <a class="el" href="_c_l_locally_connected_layer_8cpp_source.xhtml#l00130">CLLocallyConnectedLayer::configure()</a>, <a class="el" href="_n_e_locally_connected_layer_8cpp_source.xhtml#l00124">NELocallyConnectedLayer::configure()</a>, <a class="el" href="_g_c_im2_col_kernel_8cpp_source.xhtml#l00067">GCIm2ColKernel::configure()</a>, <a class="el" href="_c_l_im2_col_kernel_8cpp_source.xhtml#l00288">CLIm2ColKernel::configure()</a>, <a class="el" href="_n_e_im2_col_kernel_8cpp_source.xhtml#l00333">NEIm2ColKernel::configure()</a>, <a class="el" href="_g_c_convolution_layer_8cpp_source.xhtml#l00090">GCConvolutionLayer::configure()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00173">NEGEMMConvolutionLayer::configure()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00164">CLGEMMConvolutionLayer::configure()</a>, <a class="el" href="validation_2reference_2_convolution_layer_8cpp_source.xhtml#l00049">arm_compute::test::validation::reference::convolution_layer_nchw()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00762">data_type_for_convolution_matrix()</a>, <a class="el" href="reference_2_im2_col_8cpp_source.xhtml#l00039">arm_compute::test::validation::reference::im2col_nchw()</a>, <a class="el" href="reference_2_im2_col_8cpp_source.xhtml#l00093">arm_compute::test::validation::reference::im2col_nhwc()</a>, <a class="el" href="reference_2_locally_connected_8cpp_source.xhtml#l00041">arm_compute::test::validation::reference::locally_connected()</a>, <a class="el" href="_n_e_pooling_layer_kernel_8cpp_source.xhtml#l02030">NEPoolingLayerKernel::validate()</a>, <a class="el" href="_c_l_locally_connected_layer_8cpp_source.xhtml#l00086">CLLocallyConnectedLayer::validate()</a>, <a class="el" href="_n_e_locally_connected_layer_8cpp_source.xhtml#l00080">NELocallyConnectedLayer::validate()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00377">NEGEMMConvolutionLayer::validate()</a>, and <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00346">CLGEMMConvolutionLayer::validate()</a>.</p>
-<div class="fragment"><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>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> pad_left = pad_stride_info.<a class="code" href="classarm__compute_1_1_pad_stride_info.xhtml#a7144874ab401f5c4e249a1115dfb5166">pad_left</a>();</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> pad_top = pad_stride_info.<a class="code" href="classarm__compute_1_1_pad_stride_info.xhtml#a3fea0ce4e6eeee7bf3a511c31b51d44f">pad_top</a>();</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> pad_right = pad_stride_info.<a class="code" href="classarm__compute_1_1_pad_stride_info.xhtml#a3860caeeaa259d59ccf69c3aea23f549">pad_right</a>();</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> pad_bottom = pad_stride_info.<a class="code" href="classarm__compute_1_1_pad_stride_info.xhtml#ac49df0924d183da42cffc04cf9aba1f8">pad_bottom</a>();</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> stride_x = pad_stride_info.<a class="code" href="classarm__compute_1_1_pad_stride_info.xhtml#a6e324c1bd1111876469ea247da156147">stride</a>().first;</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> stride_y = pad_stride_info.<a class="code" href="classarm__compute_1_1_pad_stride_info.xhtml#a6e324c1bd1111876469ea247da156147">stride</a>().second;</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> w = 0;</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> h = 0;</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  <span class="keywordflow">switch</span>(pad_stride_info.<a class="code" href="classarm__compute_1_1_pad_stride_info.xhtml#a711b72c2817604dfbb9d20d142882bab">round</a>())</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>  <span class="keywordflow">case</span> DimensionRoundingType::FLOOR:</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  w = <span class="keyword">static_cast<</span><span class="keywordtype">unsigned</span> <span class="keywordtype">int</span><span class="keyword">></span>(std::floor((static_cast<float>(width + pad_left + pad_right - (dilation.<a class="code" href="classarm__compute_1_1_size2_d.xhtml#a94b8468af876f5ab54020d5e9787a4f0">x</a>() * (kernel_width - 1) + 1)) / stride_x) + 1));</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  h = <span class="keyword">static_cast<</span><span class="keywordtype">unsigned</span> <span class="keywordtype">int</span><span class="keyword">></span>(std::floor((static_cast<float>(height + pad_top + pad_bottom - (dilation.<a class="code" href="classarm__compute_1_1_size2_d.xhtml#aaaeb4853150b7d0e8b685fd08052924f">y</a>() * (kernel_height - 1) + 1)) / stride_y) + 1));</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  <span class="keywordflow">case</span> DimensionRoundingType::CEIL:</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  w = <span class="keyword">static_cast<</span><span class="keywordtype">unsigned</span> <span class="keywordtype">int</span><span class="keyword">></span>(std::ceil((static_cast<float>(width + pad_left + pad_right - (dilation.<a class="code" href="classarm__compute_1_1_size2_d.xhtml#a94b8468af876f5ab54020d5e9787a4f0">x</a>() * (kernel_width - 1) + 1)) / stride_x) + 1));</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  h = <span class="keyword">static_cast<</span><span class="keywordtype">unsigned</span> <span class="keywordtype">int</span><span class="keyword">></span>(std::ceil((static_cast<float>(height + pad_top + pad_bottom - (dilation.<a class="code" href="classarm__compute_1_1_size2_d.xhtml#aaaeb4853150b7d0e8b685fd08052924f">y</a>() * (kernel_height - 1) + 1)) / stride_y) + 1));</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Unsupported rounding type"</span>);</div><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> </div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <span class="comment">// Make sure that border operations will start from inside the input and not the padded area</span></div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  <span class="keywordflow">if</span>(((w - 1) * stride_x) >= (width + pad_left))</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>  --w;</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">if</span>(((h - 1) * stride_y) >= (height + pad_top))</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>  --h;</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>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(((w - 1) * stride_x) >= (width + pad_left));</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(((h - 1) * stride_y) >= (height + pad_top));</div><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> std::make_pair(w, h);</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</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#l00261">Error.h:261</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_pad_stride_info_xhtml_a711b72c2817604dfbb9d20d142882bab"><div class="ttname"><a href="classarm__compute_1_1_pad_stride_info.xhtml#a711b72c2817604dfbb9d20d142882bab">arm_compute::PadStrideInfo::round</a></div><div class="ttdeci">DimensionRoundingType round() const</div><div class="ttdoc">Get the rounding type. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00780">Types.h:780</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#l00337">Error.h:337</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_size2_d_xhtml_a94b8468af876f5ab54020d5e9787a4f0"><div class="ttname"><a href="classarm__compute_1_1_size2_d.xhtml#a94b8468af876f5ab54020d5e9787a4f0">arm_compute::Size2D::x</a></div><div class="ttdeci">size_t x() const</div><div class="ttdoc">Semantic accessor for width as x. </div><div class="ttdef"><b>Definition:</b> <a href="_size2_d_8h_source.xhtml#l00077">Size2D.h:77</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_pad_stride_info_xhtml_a3fea0ce4e6eeee7bf3a511c31b51d44f"><div class="ttname"><a href="classarm__compute_1_1_pad_stride_info.xhtml#a3fea0ce4e6eeee7bf3a511c31b51d44f">arm_compute::PadStrideInfo::pad_top</a></div><div class="ttdeci">unsigned int pad_top() const</div><div class="ttdoc">Get the top padding. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00769">Types.h:769</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_pad_stride_info_xhtml_a6e324c1bd1111876469ea247da156147"><div class="ttname"><a href="classarm__compute_1_1_pad_stride_info.xhtml#a6e324c1bd1111876469ea247da156147">arm_compute::PadStrideInfo::stride</a></div><div class="ttdeci">std::pair< unsigned int, unsigned int > stride() const</div><div class="ttdoc">Get the stride. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00733">Types.h:733</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_pad_stride_info_xhtml_a3860caeeaa259d59ccf69c3aea23f549"><div class="ttname"><a href="classarm__compute_1_1_pad_stride_info.xhtml#a3860caeeaa259d59ccf69c3aea23f549">arm_compute::PadStrideInfo::pad_right</a></div><div class="ttdeci">unsigned int pad_right() const</div><div class="ttdoc">Get the right padding. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00764">Types.h:764</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_size2_d_xhtml_aaaeb4853150b7d0e8b685fd08052924f"><div class="ttname"><a href="classarm__compute_1_1_size2_d.xhtml#aaaeb4853150b7d0e8b685fd08052924f">arm_compute::Size2D::y</a></div><div class="ttdeci">size_t y() const</div><div class="ttdoc">Semantic accessor for height as y. </div><div class="ttdef"><b>Definition:</b> <a href="_size2_d_8h_source.xhtml#l00086">Size2D.h:86</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_pad_stride_info_xhtml_ac49df0924d183da42cffc04cf9aba1f8"><div class="ttname"><a href="classarm__compute_1_1_pad_stride_info.xhtml#ac49df0924d183da42cffc04cf9aba1f8">arm_compute::PadStrideInfo::pad_bottom</a></div><div class="ttdeci">unsigned int pad_bottom() const</div><div class="ttdoc">Get the bottom padding. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00774">Types.h:774</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_pad_stride_info_xhtml_a7144874ab401f5c4e249a1115dfb5166"><div class="ttname"><a href="classarm__compute_1_1_pad_stride_info.xhtml#a7144874ab401f5c4e249a1115dfb5166">arm_compute::PadStrideInfo::pad_left</a></div><div class="ttdeci">unsigned int pad_left() const</div><div class="ttdoc">Get the left padding. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00759">Types.h:759</a></div></div>
+<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00359">359</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
+<div class="fragment"><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>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> pad_left = pad_stride_info.<a class="code" href="classarm__compute_1_1_pad_stride_info.xhtml#a7144874ab401f5c4e249a1115dfb5166">pad_left</a>();</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> pad_top = pad_stride_info.<a class="code" href="classarm__compute_1_1_pad_stride_info.xhtml#a3fea0ce4e6eeee7bf3a511c31b51d44f">pad_top</a>();</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> pad_right = pad_stride_info.<a class="code" href="classarm__compute_1_1_pad_stride_info.xhtml#a3860caeeaa259d59ccf69c3aea23f549">pad_right</a>();</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> pad_bottom = pad_stride_info.<a class="code" href="classarm__compute_1_1_pad_stride_info.xhtml#ac49df0924d183da42cffc04cf9aba1f8">pad_bottom</a>();</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> stride_x = pad_stride_info.<a class="code" href="classarm__compute_1_1_pad_stride_info.xhtml#a6e324c1bd1111876469ea247da156147">stride</a>().first;</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> stride_y = pad_stride_info.<a class="code" href="classarm__compute_1_1_pad_stride_info.xhtml#a6e324c1bd1111876469ea247da156147">stride</a>().second;</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> w = 0;</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> h = 0;</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  <span class="keywordflow">switch</span>(pad_stride_info.<a class="code" href="classarm__compute_1_1_pad_stride_info.xhtml#a711b72c2817604dfbb9d20d142882bab">round</a>())</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="keywordflow">case</span> DimensionRoundingType::FLOOR:</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  w = static_cast<unsigned int>(std::floor((static_cast<float>(width + pad_left + pad_right - (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad3fd4136244e42ad89b01c02b904336d">dilation</a>.x() * (kernel_width - 1) + 1)) / stride_x) + 1));</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  h = static_cast<unsigned int>(std::floor((static_cast<float>(height + pad_top + pad_bottom - (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad3fd4136244e42ad89b01c02b904336d">dilation</a>.y() * (kernel_height - 1) + 1)) / stride_y) + 1));</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  <span class="keywordflow">case</span> DimensionRoundingType::CEIL:</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  w = static_cast<unsigned int>(std::ceil((static_cast<float>(width + pad_left + pad_right - (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad3fd4136244e42ad89b01c02b904336d">dilation</a>.x() * (kernel_width - 1) + 1)) / stride_x) + 1));</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  h = static_cast<unsigned int>(std::ceil((static_cast<float>(height + pad_top + pad_bottom - (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad3fd4136244e42ad89b01c02b904336d">dilation</a>.y() * (kernel_height - 1) + 1)) / stride_y) + 1));</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">default</span>:</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Unsupported rounding type"</span>);</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> </div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  <span class="comment">// Make sure that border operations will start from inside the input and not the padded area</span></div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  <span class="keywordflow">if</span>(((w - 1) * stride_x) >= (width + pad_left))</div><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>  --w;</div><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">if</span>(((h - 1) * stride_y) >= (height + pad_top))</div><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>  --h;</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#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(((w - 1) * stride_x) >= (width + pad_left));</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(((h - 1) * stride_y) >= (height + pad_top));</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>  <span class="keywordflow">return</span> std::make_pair(w, h);</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</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#l00261">Error.h:261</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_pad_stride_info_xhtml_a711b72c2817604dfbb9d20d142882bab"><div class="ttname"><a href="classarm__compute_1_1_pad_stride_info.xhtml#a711b72c2817604dfbb9d20d142882bab">arm_compute::PadStrideInfo::round</a></div><div class="ttdeci">DimensionRoundingType round() const</div><div class="ttdoc">Get the rounding type.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00816">Types.h:816</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad3fd4136244e42ad89b01c02b904336d"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad3fd4136244e42ad89b01c02b904336d">arm_compute::test::validation::dilation</a></div><div class="ttdeci">dilation</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">ConvolutionLayer.cpp:174</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#l00337">Error.h:337</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_pad_stride_info_xhtml_a3fea0ce4e6eeee7bf3a511c31b51d44f"><div class="ttname"><a href="classarm__compute_1_1_pad_stride_info.xhtml#a3fea0ce4e6eeee7bf3a511c31b51d44f">arm_compute::PadStrideInfo::pad_top</a></div><div class="ttdeci">unsigned int pad_top() const</div><div class="ttdoc">Get the top padding.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00805">Types.h:805</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_pad_stride_info_xhtml_a6e324c1bd1111876469ea247da156147"><div class="ttname"><a href="classarm__compute_1_1_pad_stride_info.xhtml#a6e324c1bd1111876469ea247da156147">arm_compute::PadStrideInfo::stride</a></div><div class="ttdeci">std::pair< unsigned int, unsigned int > stride() const</div><div class="ttdoc">Get the stride.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00769">Types.h:769</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_pad_stride_info_xhtml_a3860caeeaa259d59ccf69c3aea23f549"><div class="ttname"><a href="classarm__compute_1_1_pad_stride_info.xhtml#a3860caeeaa259d59ccf69c3aea23f549">arm_compute::PadStrideInfo::pad_right</a></div><div class="ttdeci">unsigned int pad_right() const</div><div class="ttdoc">Get the right padding.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00800">Types.h:800</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_pad_stride_info_xhtml_ac49df0924d183da42cffc04cf9aba1f8"><div class="ttname"><a href="classarm__compute_1_1_pad_stride_info.xhtml#ac49df0924d183da42cffc04cf9aba1f8">arm_compute::PadStrideInfo::pad_bottom</a></div><div class="ttdeci">unsigned int pad_bottom() const</div><div class="ttdoc">Get the bottom padding.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00810">Types.h:810</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_pad_stride_info_xhtml_a7144874ab401f5c4e249a1115dfb5166"><div class="ttname"><a href="classarm__compute_1_1_pad_stride_info.xhtml#a7144874ab401f5c4e249a1115dfb5166">arm_compute::PadStrideInfo::pad_left</a></div><div class="ttdeci">unsigned int pad_left() const</div><div class="ttdoc">Get the left padding.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00795">Types.h:795</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">CEIL</a>, <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">arm_compute::test::validation::dilation</a>, <a class="el" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe">FLOOR</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00810">PadStrideInfo::pad_bottom()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00795">PadStrideInfo::pad_left()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00800">PadStrideInfo::pad_right()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00805">PadStrideInfo::pad_top()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00816">PadStrideInfo::round()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00769">PadStrideInfo::stride()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_shape_calculator_8h_source.xhtml#l00730">arm_compute::misc::shape_calculator::compute_deep_convolution_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00408">arm_compute::misc::shape_calculator::compute_depthwise_convolution_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00541">arm_compute::misc::shape_calculator::compute_im2col_conv_shape()</a>, <a class="el" href="_pooling_layer_node_8cpp_source.xhtml#l00047">PoolingLayerNode::compute_output_descriptor()</a>, <a class="el" href="_depthwise_convolution_layer_node_8cpp_source.xhtml#l00072">DepthwiseConvolutionLayerNode::compute_output_descriptor()</a>, <a class="el" href="_convolution_layer_node_8cpp_source.xhtml#l00086">ConvolutionLayerNode::compute_output_descriptor()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00779">arm_compute::misc::shape_calculator::compute_pool_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00695">arm_compute::misc::shape_calculator::compute_winograd_output_transform_shape()</a>, <a class="el" href="_g_c_pooling_layer_kernel_8cpp_source.xhtml#l00226">GCPoolingLayerKernel::configure()</a>, <a class="el" href="_n_e_pooling_layer_kernel_8cpp_source.xhtml#l00334">NEPoolingLayerKernel::configure()</a>, <a class="el" href="_g_c_direct_convolution_layer_kernel_8cpp_source.xhtml#l00053">GCDirectConvolutionLayerKernel< kernel_size >::configure()</a>, <a class="el" href="_c_l_locally_connected_layer_8cpp_source.xhtml#l00130">CLLocallyConnectedLayer::configure()</a>, <a class="el" href="_n_e_locally_connected_layer_8cpp_source.xhtml#l00124">NELocallyConnectedLayer::configure()</a>, <a class="el" href="_g_c_im2_col_kernel_8cpp_source.xhtml#l00067">GCIm2ColKernel::configure()</a>, <a class="el" href="_c_l_im2_col_kernel_8cpp_source.xhtml#l00293">CLIm2ColKernel::configure()</a>, <a class="el" href="_n_e_im2_col_kernel_8cpp_source.xhtml#l00334">NEIm2ColKernel::configure()</a>, <a class="el" href="_g_c_convolution_layer_8cpp_source.xhtml#l00090">GCConvolutionLayer::configure()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00173">NEGEMMConvolutionLayer::configure()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00169">CLGEMMConvolutionLayer::configure()</a>, <a class="el" href="validation_2reference_2_convolution_layer_8cpp_source.xhtml#l00049">arm_compute::test::validation::reference::convolution_layer_nchw()</a>, <a class="el" href="reference_2_im2_col_8cpp_source.xhtml#l00039">arm_compute::test::validation::reference::im2col_nchw()</a>, <a class="el" href="reference_2_im2_col_8cpp_source.xhtml#l00093">arm_compute::test::validation::reference::im2col_nhwc()</a>, <a class="el" href="reference_2_locally_connected_8cpp_source.xhtml#l00041">arm_compute::test::validation::reference::locally_connected()</a>, <a class="el" href="_n_e_pooling_layer_kernel_8cpp_source.xhtml#l01742">NEPoolingLayerKernel::validate()</a>, <a class="el" href="_c_l_locally_connected_layer_8cpp_source.xhtml#l00086">CLLocallyConnectedLayer::validate()</a>, <a class="el" href="_n_e_locally_connected_layer_8cpp_source.xhtml#l00080">NELocallyConnectedLayer::validate()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00377">NEGEMMConvolutionLayer::validate()</a>, and <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00353">CLGEMMConvolutionLayer::validate()</a>.</p>
+
</div>
</div>
<a id="a18ec57dffc5c26864be77318111dfb2a"></a>
@@ -18827,10 +19991,12 @@
<dl class="section return"><dt>Returns</dt><dd>true if the separation was successful </dd></dl>
<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00567">567</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="l00568"></a><span class="lineno"> 568</span> {</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>  int32_t min_col = -1;</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>  int16_t min_col_val = -1;</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="keywordflow">for</span>(int32_t i = 0; i < size; ++i)</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="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adab2e84e4e20f041fdcd075e2864b132">conv</a>[i] != 0 && (min_col < 0 || abs(min_col_val) > abs(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adab2e84e4e20f041fdcd075e2864b132">conv</a>[i])))</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  {</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>  min_col = i;</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>  min_col_val = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adab2e84e4e20f041fdcd075e2864b132">conv</a>[i];</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> </div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>  <span class="keywordflow">if</span>(min_col < 0)</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="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>  }</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">for</span>(uint32_t j = 0; j < size; ++j)</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>  conv_col[j] = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adab2e84e4e20f041fdcd075e2864b132">conv</a>[min_col + j * size];</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">for</span>(uint32_t i = 0; i < size; i++)</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="keywordflow">if</span>(static_cast<int>(i) == min_col)</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>  conv_row[i] = 1;</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="keywordflow">else</span></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>  int16_t coeff = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adab2e84e4e20f041fdcd075e2864b132">conv</a>[i] / <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adab2e84e4e20f041fdcd075e2864b132">conv</a>[min_col];</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="keywordflow">for</span>(uint32_t j = 1; j < size; ++j)</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="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adab2e84e4e20f041fdcd075e2864b132">conv</a>[i + j * size] != (conv_col[j] * coeff))</div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>  {</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>  }</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> </div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span>  conv_row[i] = coeff;</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>  }</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span> </div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_adab2e84e4e20f041fdcd075e2864b132"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#adab2e84e4e20f041fdcd075e2864b132">arm_compute::test::validation::conv</a></div><div class="ttdeci">int16_t conv[25]</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_8cpp_source.xhtml#l00125">Convolution.cpp:125</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="validation_2_c_l_2_convolution_8cpp_source.xhtml#l00125">arm_compute::test::validation::conv</a>.</p>
<p class="reference">Referenced by <a class="el" href="_c_l_convolution_8cpp_source.xhtml#l00056">CLConvolutionSquare< matrix_size >::configure()</a>, and <a class="el" href="_n_e_convolution_8cpp_source.xhtml#l00057">NEConvolutionSquare< matrix_size >::configure()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00568"></a><span class="lineno"> 568</span> {</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>  int32_t min_col = -1;</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>  int16_t min_col_val = -1;</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="keywordflow">for</span>(int32_t i = 0; i < size; ++i)</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="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>[i] != 0 && (min_col < 0 || abs(min_col_val) > abs(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>[i])))</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  {</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>  min_col = i;</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>  min_col_val = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>[i];</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> </div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>  <span class="keywordflow">if</span>(min_col < 0)</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="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>  }</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">for</span>(uint32_t j = 0; j < size; ++j)</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>  conv_col[j] = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>[min_col + j * size];</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">for</span>(uint32_t i = 0; i < size; i++)</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="keywordflow">if</span>(static_cast<int>(i) == min_col)</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>  conv_row[i] = 1;</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="keywordflow">else</span></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>  int16_t coeff = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>[i] / <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>[min_col];</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="keywordflow">for</span>(uint32_t j = 1; j < size; ++j)</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="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>[i + j * size] != (conv_col[j] * coeff))</div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>  {</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>  }</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> </div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span>  conv_row[i] = coeff;</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>  }</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span> </div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_adf88bb8e946175c496fb362aa458128b"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">arm_compute::test::validation::conv</a></div><div class="ttdeci">int16_t conv[25]</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_8cpp_source.xhtml#l00140">Convolution.cpp:140</a></div></div>
-</div><!-- fragment -->
+
</div>
</div>
<a id="aafd98bfd4651f36d691ddd2631a6e5a0"></a>
@@ -18870,7 +20036,7 @@
<p>Set the data layout to the specified value if the current data layout is unknown. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramdir">[in,out]</td><td class="paramname">info</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="paramdir">[in,out]</td><td class="paramname">info</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="paramdir">[in]</td><td class="paramname">data_layout</td><td>New data layout.</td></tr>
</table>
</dd>
@@ -18878,13 +20044,10 @@
<dl class="section return"><dt>Returns</dt><dd>True if the data type has been changed. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00267">267</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
-
-<p class="reference">References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a367b5090ab432bc7de2c32369e087ab1">ITensorInfo::data_layout()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#abb9481fe056b9749f9b4c08db101cc15">ITensorInfo::set_data_layout()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00268"></a><span class="lineno"> 268</span> {</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.data_layout() == DataLayout::UNKNOWN)</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>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_data_layout(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">data_layout</a>);</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><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 class="line"><a name="l00275"></a><span class="lineno"> 275</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a786677cbfb3f5677b4d84f3056eb08db"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">arm_compute::test::validation::data_layout</a></div><div class="ttdeci">data_layout</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00251">Winograd.cpp:251</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="fragment"><div class="line"><a name="l00268"></a><span class="lineno"> 268</span> {</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.data_layout() == DataLayout::UNKNOWN)</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>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.set_data_layout(data_layout);</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><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 class="line"><a name="l00275"></a><span class="lineno"> 275</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a4f4125dba5283887b34f889b1c615c0c"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">arm_compute::test::validation::info</a></div><div class="ttdeci">info</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">ConvolutionLayer.cpp:174</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">arm_compute::test::validation::info</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
+
</div>
</div>
<a id="ad19446be52c2c162fa678b9ae236f445"></a>
@@ -18924,7 +20087,7 @@
<p>Set the data type and number of channels to the specified value if the current data type is unknown. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramdir">[in,out]</td><td class="paramname">info</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="paramdir">[in,out]</td><td class="paramname">info</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="paramdir">[in]</td><td class="paramname">data_type</td><td>New data type.</td></tr>
</table>
</dd>
@@ -18932,13 +20095,11 @@
<dl class="section return"><dt>Returns</dt><dd>True if the data type has been changed. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00256">256</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
-
-<p class="reference">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 class="reference">Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>.</p>
-<div class="fragment"><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">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="l00259"></a><span class="lineno"> 259</span>  {</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</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="l00261"></a><span class="lineno"> 261</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><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> </div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</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_arithmetic_subtraction_8cpp_source.xhtml#l00174">ArithmeticSubtraction.cpp:174</a></div></div>
+<div class="fragment"><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">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.data_type() == DataType::UNKNOWN)</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>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">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="l00261"></a><span class="lineno"> 261</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><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> </div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</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="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">ConvolutionLayer.cpp:174</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a4f4125dba5283887b34f889b1c615c0c"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">arm_compute::test::validation::info</a></div><div class="ttdeci">info</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">ConvolutionLayer.cpp:174</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">arm_compute::test::validation::data_type</a>, <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">arm_compute::test::validation::info</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
+
</div>
</div>
<a id="a8076ba239b6681067b6cfea7f773a39f"></a>
@@ -18978,7 +20139,7 @@
<p>Set the format, data type and number of channels to the specified value if the current data type is unknown. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramdir">[in,out]</td><td class="paramname">info</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="paramdir">[in,out]</td><td class="paramname">info</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="paramdir">[in]</td><td class="paramname">format</td><td>New format.</td></tr>
</table>
</dd>
@@ -18986,12 +20147,12 @@
<dl class="section return"><dt>Returns</dt><dd>True if the format has been changed. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00245">245</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
-
-<p class="reference">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 class="reference">Referenced by <a class="el" href="_n_e_box3x3_kernel_8cpp_source.xhtml#l00114">NEBox3x3Kernel::configure()</a>, <a class="el" href="_n_e_accumulate_kernel_8cpp_source.xhtml#l00250">NEAccumulateKernel::configure()</a>, <a class="el" href="_g_c_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00047">GCPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_c_l_channel_extract_kernel_8cpp_source.xhtml#l00050">CLChannelExtractKernel::configure()</a>, <a class="el" href="_n_e_bitwise_not_kernel_8cpp_source.xhtml#l00056">NEBitwiseNotKernel::configure()</a>, <a class="el" href="_n_e_bitwise_and_kernel_8cpp_source.xhtml#l00061">NEBitwiseAndKernel::configure()</a>, <a class="el" href="_n_e_bitwise_or_kernel_8cpp_source.xhtml#l00057">NEBitwiseOrKernel::configure()</a>, <a class="el" href="_n_e_bitwise_xor_kernel_8cpp_source.xhtml#l00057">NEBitwiseXorKernel::configure()</a>, <a class="el" href="_g_c_arithmetic_addition_kernel_8cpp_source.xhtml#l00091">GCArithmeticAdditionKernel::configure()</a>, <a class="el" href="_n_e_absolute_difference_kernel_8cpp_source.xhtml#l00133">NEAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_n_e_channel_extract_kernel_8cpp_source.xhtml#l00052">NEChannelExtractKernel::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l00877">NEGradientKernel::configure()</a>, <a class="el" href="_n_e_cumulative_distribution_kernel_8cpp_source.xhtml#l00050">NECumulativeDistributionKernel::configure()</a>, <a class="el" href="_n_e_accumulate_kernel_8cpp_source.xhtml#l00286">NEAccumulateWeightedKernel::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l00970">NEEdgeNonMaxSuppressionKernel::configure()</a>, <a class="el" href="_n_e_accumulate_kernel_8cpp_source.xhtml#l00329">NEAccumulateSquaredKernel::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l01059">NEEdgeTraceKernel::configure()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</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="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="l00248"></a><span class="lineno"> 248</span>  {</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_format(format);</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <span class="keywordflow">return</span> <span class="keyword">true</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> </div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</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="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="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.data_type() == DataType::UNKNOWN)</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>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.set_format(format);</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <span class="keywordflow">return</span> <span class="keyword">true</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> </div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a4f4125dba5283887b34f889b1c615c0c"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">arm_compute::test::validation::info</a></div><div class="ttdeci">info</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">ConvolutionLayer.cpp:174</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">arm_compute::test::validation::info</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_n_e_box3x3_kernel_8cpp_source.xhtml#l00114">NEBox3x3Kernel::configure()</a>, <a class="el" href="_n_e_accumulate_kernel_8cpp_source.xhtml#l00250">NEAccumulateKernel::configure()</a>, <a class="el" href="_g_c_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00047">GCPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_n_e_bitwise_not_kernel_8cpp_source.xhtml#l00056">NEBitwiseNotKernel::configure()</a>, <a class="el" href="_c_l_channel_extract_kernel_8cpp_source.xhtml#l00050">CLChannelExtractKernel::configure()</a>, <a class="el" href="_n_e_bitwise_and_kernel_8cpp_source.xhtml#l00061">NEBitwiseAndKernel::configure()</a>, <a class="el" href="_g_c_arithmetic_addition_kernel_8cpp_source.xhtml#l00091">GCArithmeticAdditionKernel::configure()</a>, <a class="el" href="_n_e_bitwise_or_kernel_8cpp_source.xhtml#l00057">NEBitwiseOrKernel::configure()</a>, <a class="el" href="_n_e_bitwise_xor_kernel_8cpp_source.xhtml#l00057">NEBitwiseXorKernel::configure()</a>, <a class="el" href="_n_e_absolute_difference_kernel_8cpp_source.xhtml#l00133">NEAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_n_e_channel_extract_kernel_8cpp_source.xhtml#l00052">NEChannelExtractKernel::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l00877">NEGradientKernel::configure()</a>, <a class="el" href="_n_e_cumulative_distribution_kernel_8cpp_source.xhtml#l00050">NECumulativeDistributionKernel::configure()</a>, <a class="el" href="_n_e_accumulate_kernel_8cpp_source.xhtml#l00286">NEAccumulateWeightedKernel::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l00970">NEEdgeNonMaxSuppressionKernel::configure()</a>, <a class="el" href="_n_e_accumulate_kernel_8cpp_source.xhtml#l00329">NEAccumulateSquaredKernel::configure()</a>, and <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l01059">NEEdgeTraceKernel::configure()</a>.</p>
+
</div>
</div>
<a id="a75509469ec2689ec143f4a37bbcb4437"></a>
@@ -19031,7 +20192,7 @@
<p>Set the quantization info to the specified value if the current quantization info is empty and the data type of asymmetric quantized type. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramdir">[in,out]</td><td class="paramname">info</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="paramdir">[in,out]</td><td class="paramname">info</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="paramdir">[in]</td><td class="paramname">quantization_info</td><td>Quantization info</td></tr>
</table>
</dd>
@@ -19039,13 +20200,11 @@
<dl class="section return"><dt>Returns</dt><dd>True if the quantization info has been changed. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00278">278</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
-
-<p class="reference">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#l00202">QuantizationInfo::empty()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00996">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#a575d37eaf8a905c8ca3c0250757c2b81">ITensorInfo::set_quantization_info()</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</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>  <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="l00281"></a><span class="lineno"> 281</span>  {</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</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="l00283"></a><span class="lineno"> 283</span>  <span class="keywordflow">return</span> <span class="keyword">true</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> </div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</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_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#l00996">Utils.h:996</a></div></div>
+<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>  <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">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#a4f4125dba5283887b34f889b1c615c0c">info</a>.data_type())))</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>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.set_quantization_info(quantization_info);</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <span class="keywordflow">return</span> <span class="keyword">true</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> </div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span> }</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#l01014">Utils.h:1014</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a4f4125dba5283887b34f889b1c615c0c"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">arm_compute::test::validation::info</a></div><div class="ttdeci">info</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">ConvolutionLayer.cpp:174</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">arm_compute::test::validation::info</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01014">is_data_type_quantized_asymmetric()</a>.</p>
+
</div>
</div>
<a id="a9d1a839c51134b2ae171a2264c541b6f"></a>
@@ -19085,7 +20244,7 @@
<p>Set the shape to the specified value if the current assignment is empty. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramdir">[in,out]</td><td class="paramname">info</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="paramdir">[in,out]</td><td class="paramname">info</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="paramdir">[in]</td><td class="paramname">shape</td><td>New shape.</td></tr>
</table>
</dd>
@@ -19093,13 +20252,13 @@
<dl class="section return"><dt>Returns</dt><dd>True if the shape has been changed. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00234">234</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
-
-<p class="reference">References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a12a4f1190952613e36b44846962e26bb">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#l00171">TensorShape::total_size()</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_n_e_box3x3_kernel_8cpp_source.xhtml#l00114">NEBox3x3Kernel::configure()</a>, <a class="el" href="_n_e_accumulate_kernel_8cpp_source.xhtml#l00250">NEAccumulateKernel::configure()</a>, <a class="el" href="_g_c_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00047">GCPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_c_l_depth_convert_layer_kernel_8cpp_source.xhtml#l00095">CLDepthConvertLayerKernel::configure()</a>, <a class="el" href="_n_e_bitwise_not_kernel_8cpp_source.xhtml#l00056">NEBitwiseNotKernel::configure()</a>, <a class="el" href="_c_l_channel_extract_kernel_8cpp_source.xhtml#l00050">CLChannelExtractKernel::configure()</a>, <a class="el" href="_n_e_bitwise_and_kernel_8cpp_source.xhtml#l00061">NEBitwiseAndKernel::configure()</a>, <a class="el" href="_g_c_arithmetic_addition_kernel_8cpp_source.xhtml#l00091">GCArithmeticAdditionKernel::configure()</a>, <a class="el" href="_n_e_bitwise_or_kernel_8cpp_source.xhtml#l00057">NEBitwiseOrKernel::configure()</a>, <a class="el" href="_n_e_bitwise_xor_kernel_8cpp_source.xhtml#l00057">NEBitwiseXorKernel::configure()</a>, <a class="el" href="_n_e_color_convert_kernel_8cpp_source.xhtml#l00045">NEColorConvertKernel::configure()</a>, <a class="el" href="_n_e_absolute_difference_kernel_8cpp_source.xhtml#l00133">NEAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_n_e_channel_extract_kernel_8cpp_source.xhtml#l00052">NEChannelExtractKernel::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l00877">NEGradientKernel::configure()</a>, <a class="el" href="_n_e_depth_convert_layer_kernel_8cpp_source.xhtml#l00096">NEDepthConvertLayerKernel::configure()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l00324">NEConvolutionKernel< matrix_size >::configure()</a>, <a class="el" href="_n_e_accumulate_kernel_8cpp_source.xhtml#l00286">NEAccumulateWeightedKernel::configure()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l00666">NESeparableConvolutionHorKernel< matrix_size >::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l00970">NEEdgeNonMaxSuppressionKernel::configure()</a>, <a class="el" href="_n_e_accumulate_kernel_8cpp_source.xhtml#l00329">NEAccumulateSquaredKernel::configure()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l01103">NESeparableConvolutionVertKernel< matrix_size >::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l01059">NEEdgeTraceKernel::configure()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l01427">NEConvolutionRectangleKernel::configure()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</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="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="l00237"></a><span class="lineno"> 237</span>  {</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</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="l00239"></a><span class="lineno"> 239</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</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> </div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</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_arithmetic_division_8cpp_source.xhtml#l00096">ArithmeticDivision.cpp:96</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="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="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.tensor_shape().total_size() == 0)</div><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>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">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="l00239"></a><span class="lineno"> 239</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</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> </div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</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_absolute_difference_8cpp_source.xhtml#l00097">AbsoluteDifference.cpp:97</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a4f4125dba5283887b34f889b1c615c0c"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">arm_compute::test::validation::info</a></div><div class="ttdeci">info</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">ConvolutionLayer.cpp:174</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">arm_compute::test::validation::info</a>, and <a class="el" href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00097">arm_compute::test::validation::shape</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_n_e_box3x3_kernel_8cpp_source.xhtml#l00114">NEBox3x3Kernel::configure()</a>, <a class="el" href="_n_e_accumulate_kernel_8cpp_source.xhtml#l00250">NEAccumulateKernel::configure()</a>, <a class="el" href="_c_l_depth_convert_layer_kernel_8cpp_source.xhtml#l00073">CLDepthConvertLayerKernel::configure()</a>, <a class="el" href="_g_c_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00047">GCPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_c_l_channel_extract_kernel_8cpp_source.xhtml#l00050">CLChannelExtractKernel::configure()</a>, <a class="el" href="_n_e_bitwise_not_kernel_8cpp_source.xhtml#l00056">NEBitwiseNotKernel::configure()</a>, <a class="el" href="_n_e_bitwise_and_kernel_8cpp_source.xhtml#l00061">NEBitwiseAndKernel::configure()</a>, <a class="el" href="_n_e_bitwise_or_kernel_8cpp_source.xhtml#l00057">NEBitwiseOrKernel::configure()</a>, <a class="el" href="_n_e_bitwise_xor_kernel_8cpp_source.xhtml#l00057">NEBitwiseXorKernel::configure()</a>, <a class="el" href="_g_c_arithmetic_addition_kernel_8cpp_source.xhtml#l00091">GCArithmeticAdditionKernel::configure()</a>, <a class="el" href="_n_e_color_convert_kernel_8cpp_source.xhtml#l00045">NEColorConvertKernel::configure()</a>, <a class="el" href="_n_e_absolute_difference_kernel_8cpp_source.xhtml#l00133">NEAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_n_e_channel_extract_kernel_8cpp_source.xhtml#l00052">NEChannelExtractKernel::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l00877">NEGradientKernel::configure()</a>, <a class="el" href="_n_e_depth_convert_layer_kernel_8cpp_source.xhtml#l00100">NEDepthConvertLayerKernel::configure()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l00324">NEConvolutionKernel< matrix_size >::configure()</a>, <a class="el" href="_n_e_accumulate_kernel_8cpp_source.xhtml#l00286">NEAccumulateWeightedKernel::configure()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l00666">NESeparableConvolutionHorKernel< matrix_size >::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l00970">NEEdgeNonMaxSuppressionKernel::configure()</a>, <a class="el" href="_n_e_accumulate_kernel_8cpp_source.xhtml#l00329">NEAccumulateSquaredKernel::configure()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l01103">NESeparableConvolutionVertKernel< matrix_size >::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l01059">NEEdgeTraceKernel::configure()</a>, and <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l01427">NEConvolutionRectangleKernel::configure()</a>.</p>
+
</div>
</div>
<a id="a671b1da70aa3efc02c508648ae2d81b5"></a>
@@ -19211,12 +20370,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The string describing the activation function. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00162">162</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
-
+<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00167">167</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</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="keyword">static</span> std::map<ActivationLayerInfo::ActivationFunction, const std::string> act_map =</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>  { ActivationLayerInfo::ActivationFunction::ABS, <span class="stringliteral">"ABS"</span> },</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  { ActivationLayerInfo::ActivationFunction::LINEAR, <span class="stringliteral">"LINEAR"</span> },</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  { ActivationLayerInfo::ActivationFunction::LOGISTIC, <span class="stringliteral">"LOGISTIC"</span> },</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  { ActivationLayerInfo::ActivationFunction::RELU, <span class="stringliteral">"RELU"</span> },</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  { ActivationLayerInfo::ActivationFunction::BOUNDED_RELU, <span class="stringliteral">"BRELU"</span> },</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  { ActivationLayerInfo::ActivationFunction::LU_BOUNDED_RELU, <span class="stringliteral">"LU_BRELU"</span> },</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  { ActivationLayerInfo::ActivationFunction::LEAKY_RELU, <span class="stringliteral">"LRELU"</span> },</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  { ActivationLayerInfo::ActivationFunction::SOFT_RELU, <span class="stringliteral">"SRELU"</span> },</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  { ActivationLayerInfo::ActivationFunction::SQRT, <span class="stringliteral">"SQRT"</span> },</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  { ActivationLayerInfo::ActivationFunction::SQUARE, <span class="stringliteral">"SQUARE"</span> },</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  { ActivationLayerInfo::ActivationFunction::TANH, <span class="stringliteral">"TANH"</span> },</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> </div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <span class="keywordflow">return</span> act_map[act];</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span> }</div></div><!-- fragment -->
<p class="reference">References <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaa7d8a220d2262f9d6c658d549ee12cf2c">ActivationLayerInfo::ABS</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>
-<p class="reference">Referenced by <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_c_h_w_kernel_8cpp_source.xhtml#l00209">CLDepthwiseConvolutionLayer3x3NCHWKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00141">CLDepthwiseConvolutionLayer3x3NHWCKernel::configure()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00103">CLActivationLayerKernel::configure()</a>, <a class="el" href="_g_c_activation_layer_kernel_8cpp_source.xhtml#l00047">GCActivationLayerKernel::configure()</a>, <a class="el" href="_g_c_batch_normalization_layer_kernel_8cpp_source.xhtml#l00139">GCBatchNormalizationLayerKernel::configure()</a>, <a class="el" href="_g_c_direct_convolution_layer_kernel_8cpp_source.xhtml#l00053">GCDirectConvolutionLayerKernel< kernel_size >::configure()</a>, <a class="el" href="_c_l_y_o_l_o_layer_kernel_8cpp_source.xhtml#l00103">CLYOLOLayerKernel::configure()</a>, <a class="el" href="_c_l_batch_normalization_layer_kernel_8cpp_source.xhtml#l00138">CLBatchNormalizationLayerKernel::configure()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00762">data_type_for_convolution_matrix()</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="keyword">static</span> std::map<ActivationLayerInfo::ActivationFunction, const std::string> act_map =</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>  { ActivationLayerInfo::ActivationFunction::ABS, <span class="stringliteral">"ABS"</span> },</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  { ActivationLayerInfo::ActivationFunction::LINEAR, <span class="stringliteral">"LINEAR"</span> },</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  { ActivationLayerInfo::ActivationFunction::LOGISTIC, <span class="stringliteral">"LOGISTIC"</span> },</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  { ActivationLayerInfo::ActivationFunction::RELU, <span class="stringliteral">"RELU"</span> },</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  { ActivationLayerInfo::ActivationFunction::BOUNDED_RELU, <span class="stringliteral">"BRELU"</span> },</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  { ActivationLayerInfo::ActivationFunction::LU_BOUNDED_RELU, <span class="stringliteral">"LU_BRELU"</span> },</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  { ActivationLayerInfo::ActivationFunction::LEAKY_RELU, <span class="stringliteral">"LRELU"</span> },</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  { ActivationLayerInfo::ActivationFunction::SOFT_RELU, <span class="stringliteral">"SRELU"</span> },</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  { ActivationLayerInfo::ActivationFunction::SQRT, <span class="stringliteral">"SQRT"</span> },</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  { ActivationLayerInfo::ActivationFunction::SQUARE, <span class="stringliteral">"SQUARE"</span> },</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  { ActivationLayerInfo::ActivationFunction::TANH, <span class="stringliteral">"TANH"</span> },</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  };</div><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="keywordflow">return</span> act_map[act];</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span> }</div></div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_c_h_w_kernel_8cpp_source.xhtml#l00209">CLDepthwiseConvolutionLayer3x3NCHWKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00168">CLDepthwiseConvolutionLayer3x3NHWCKernel::configure()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00103">CLActivationLayerKernel::configure()</a>, <a class="el" href="_g_c_activation_layer_kernel_8cpp_source.xhtml#l00047">GCActivationLayerKernel::configure()</a>, <a class="el" href="_g_c_direct_convolution_layer_kernel_8cpp_source.xhtml#l00053">GCDirectConvolutionLayerKernel< kernel_size >::configure()</a>, <a class="el" href="_g_c_batch_normalization_layer_kernel_8cpp_source.xhtml#l00139">GCBatchNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_y_o_l_o_layer_kernel_8cpp_source.xhtml#l00103">CLYOLOLayerKernel::configure()</a>, <a class="el" href="_c_l_batch_normalization_layer_kernel_8cpp_source.xhtml#l00138">CLBatchNormalizationLayerKernel::configure()</a>, and <a class="el" href="_c_l_winograd_output_transform_kernel_8cpp_source.xhtml#l00146">CLWinogradOutputTransformKernel::configure()</a>.</p>
+
</div>
</div>
<a id="ae0204b49ec236bbaedb1cf96def276d4"></a>
@@ -19244,13 +20403,13 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The string describing the border mode. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00219">219</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="validation_2_c_l_2_convolution_8cpp_source.xhtml#l00133">arm_compute::test::validation::border_mode</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>
-
-<p class="reference">Referenced by <a class="el" href="_c_l_fill_border_kernel_8cpp_source.xhtml#l00062">CLFillBorderKernel::configure()</a>, <a class="el" href="_g_c_fill_border_kernel_8cpp_source.xhtml#l00060">GCFillBorderKernel::configure()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00762">data_type_for_convolution_matrix()</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>  <span class="keyword">static</span> std::map<BorderMode, const std::string> border_mode_map =</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>  { BorderMode::UNDEFINED, <span class="stringliteral">"UNDEFINED"</span> },</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  { BorderMode::CONSTANT, <span class="stringliteral">"CONSTANT"</span> },</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  { BorderMode::REPLICATE, <span class="stringliteral">"REPLICATE"</span> },</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="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="keywordflow">return</span> border_mode_map[<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a5471e46933e7a9c4709972d91fc4ea65">border_mode</a>];</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a5471e46933e7a9c4709972d91fc4ea65"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a5471e46933e7a9c4709972d91fc4ea65">arm_compute::test::validation::border_mode</a></div><div class="ttdeci">border_mode</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_8cpp_source.xhtml#l00133">Convolution.cpp:133</a></div></div>
+<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00224">224</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</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>  <span class="keyword">static</span> std::map<BorderMode, const std::string> border_mode_map =</div><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>  { BorderMode::UNDEFINED, <span class="stringliteral">"UNDEFINED"</span> },</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  { BorderMode::CONSTANT, <span class="stringliteral">"CONSTANT"</span> },</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  { BorderMode::REPLICATE, <span class="stringliteral">"REPLICATE"</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> border_mode_map[<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a5471e46933e7a9c4709972d91fc4ea65">border_mode</a>];</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_a5471e46933e7a9c4709972d91fc4ea65"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a5471e46933e7a9c4709972d91fc4ea65">arm_compute::test::validation::border_mode</a></div><div class="ttdeci">border_mode</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_8cpp_source.xhtml#l00118">Convolution.cpp:118</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="validation_2_c_l_2_convolution_8cpp_source.xhtml#l00118">arm_compute::test::validation::border_mode</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>
+
+<p class="reference">Referenced by <a class="el" href="_c_l_fill_border_kernel_8cpp_source.xhtml#l00062">CLFillBorderKernel::configure()</a>, and <a class="el" href="_g_c_fill_border_kernel_8cpp_source.xhtml#l00060">GCFillBorderKernel::configure()</a>.</p>
+
</div>
</div>
<a id="af0dfcd19fb6510cd3c303db6c4583ee6"></a>
@@ -19278,12 +20437,13 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The string describing the channel. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00106">106</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
-
+<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00111">111</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00112"></a><span class="lineno"> 112</span> {</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keyword">static</span> std::map<Channel, const std::string> channels_map =</div><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>  { Channel::UNKNOWN, <span class="stringliteral">"UNKNOWN"</span> },</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  { Channel::R, <span class="stringliteral">"R"</span> },</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  { Channel::G, <span class="stringliteral">"G"</span> },</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  { Channel::B, <span class="stringliteral">"B"</span> },</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  { Channel::A, <span class="stringliteral">"A"</span> },</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  { Channel::Y, <span class="stringliteral">"Y"</span> },</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  { <a class="code" href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">Channel::U</a>, <span class="stringliteral">"U"</span> },</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  { Channel::V, <span class="stringliteral">"V"</span> },</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  { Channel::C0, <span class="stringliteral">"C0"</span> },</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  { Channel::C1, <span class="stringliteral">"C1"</span> },</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  { Channel::C2, <span class="stringliteral">"C2"</span> },</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  { Channel::C3, <span class="stringliteral">"C3"</span> }</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> </div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordflow">return</span> channels_map[channel];</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span> }</div><div class="ttc" id="namespacearm__compute_1_1utils_1_1cast_xhtml_a2ea3d1fc01a3a442900249ca182ffa5e"><div class="ttname"><a href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">arm_compute::utils::cast::U</a></div><div class="ttdeci">U</div><div class="ttdef"><b>Definition:</b> <a href="_saturate_cast_8h_source.xhtml#l00057">SaturateCast.h:57</a></div></div>
+</div><!-- fragment -->
<p class="reference">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="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>
-<p class="reference">Referenced by <a class="el" href="_c_l_channel_extract_kernel_8cpp_source.xhtml#l00050">CLChannelExtractKernel::configure()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00762">data_type_for_convolution_matrix()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00107"></a><span class="lineno"> 107</span> {</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keyword">static</span> std::map<Channel, const std::string> channels_map =</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  {</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  { Channel::UNKNOWN, <span class="stringliteral">"UNKNOWN"</span> },</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  { Channel::R, <span class="stringliteral">"R"</span> },</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  { Channel::G, <span class="stringliteral">"G"</span> },</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  { Channel::B, <span class="stringliteral">"B"</span> },</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  { Channel::A, <span class="stringliteral">"A"</span> },</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  { Channel::Y, <span class="stringliteral">"Y"</span> },</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  { Channel::U, <span class="stringliteral">"U"</span> },</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  { Channel::V, <span class="stringliteral">"V"</span> },</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  { Channel::C0, <span class="stringliteral">"C0"</span> },</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  { Channel::C1, <span class="stringliteral">"C1"</span> },</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  { Channel::C2, <span class="stringliteral">"C2"</span> },</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  { Channel::C3, <span class="stringliteral">"C3"</span> }</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  };</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="keywordflow">return</span> channels_map[channel];</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span> }</div></div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="_c_l_channel_extract_kernel_8cpp_source.xhtml#l00050">CLChannelExtractKernel::configure()</a>.</p>
+
</div>
</div>
<a id="a56b9e25c2e8731ca5488e7b3ccd66f58"></a>
@@ -19311,12 +20471,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The string describing the data layout. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00127">127</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
-
+<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00132">132</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</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>  <span class="keyword">static</span> std::map<DataLayout, const std::string> dl_map =</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>  { DataLayout::UNKNOWN, <span class="stringliteral">"UNKNOWN"</span> },</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  { DataLayout::NCHW, <span class="stringliteral">"NCHW"</span> },</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  { DataLayout::NHWC, <span class="stringliteral">"NHWC"</span> },</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> </div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordflow">return</span> dl_map[dl];</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span> }</div></div><!-- fragment -->
<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">NCHW</a>, <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">NHWC</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
-<p class="reference">Referenced by <a class="el" href="_c_l_scale_kernel_8cpp_source.xhtml#l00161">CLScaleKernel::configure()</a>, <a class="el" href="_c_l_channel_shuffle_layer_kernel_8cpp_source.xhtml#l00094">CLChannelShuffleLayerKernel::configure()</a>, <a class="el" href="_c_l_batch_to_space_layer_kernel_8cpp_source.xhtml#l00084">CLBatchToSpaceLayerKernel::configure()</a>, <a class="el" href="_c_l_space_to_batch_layer_kernel_8cpp_source.xhtml#l00083">CLSpaceToBatchLayerKernel::configure()</a>, <a class="el" href="_c_l_upsample_layer_kernel_8cpp_source.xhtml#l00062">CLUpsampleLayerKernel::configure()</a>, <a class="el" href="_c_l_reorg_layer_kernel_8cpp_source.xhtml#l00076">CLReorgLayerKernel::configure()</a>, <a class="el" href="_c_l_depthwise_weights_reshape_kernel_8cpp_source.xhtml#l00069">CLDepthwiseWeightsReshapeKernel::configure()</a>, <a class="el" href="_c_l_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00097">CLNormalizePlanarYUVLayerKernel::configure()</a>, <a class="el" href="_c_l_pooling_layer_kernel_8cpp_source.xhtml#l00184">CLPoolingLayerKernel::configure()</a>, <a class="el" href="_c_l_depthwise_vector_to_tensor_kernel_8cpp_source.xhtml#l00063">CLDepthwiseVectorToTensorKernel::configure()</a>, <a class="el" href="_c_l_arithmetic_addition_kernel_8cpp_source.xhtml#l00120">CLArithmeticAdditionKernel::configure()</a>, <a class="el" href="_c_l_depthwise_im2_col_kernel_8cpp_source.xhtml#l00064">CLDepthwiseIm2ColKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_output_stage_kernel_8cpp_source.xhtml#l00129">CLDirectConvolutionLayerOutputStageKernel::configure()</a>, <a class="el" href="_c_l_y_o_l_o_layer_kernel_8cpp_source.xhtml#l00103">CLYOLOLayerKernel::configure()</a>, <a class="el" href="_c_l_winograd_input_transform_kernel_8cpp_source.xhtml#l00111">CLWinogradInputTransformKernel::configure()</a>, <a class="el" href="_c_l_winograd_filter_transform_kernel_8cpp_source.xhtml#l00102">CLWinogradFilterTransformKernel::configure()</a>, <a class="el" href="_c_l_batch_normalization_layer_kernel_8cpp_source.xhtml#l00138">CLBatchNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_winograd_output_transform_kernel_8cpp_source.xhtml#l00136">CLWinogradOutputTransformKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00350">CLDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_c_l_im2_col_kernel_8cpp_source.xhtml#l00288">CLIm2ColKernel::configure()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00762">data_type_for_convolution_matrix()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00708">error_on_data_layout_not_in()</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>  <span class="keyword">static</span> std::map<DataLayout, const std::string> dl_map =</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>  { DataLayout::UNKNOWN, <span class="stringliteral">"UNKNOWN"</span> },</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  { DataLayout::NCHW, <span class="stringliteral">"NCHW"</span> },</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  { DataLayout::NHWC, <span class="stringliteral">"NHWC"</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> </div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keywordflow">return</span> dl_map[dl];</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span> }</div></div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="_c_l_scale_kernel_8cpp_source.xhtml#l00161">CLScaleKernel::configure()</a>, <a class="el" href="_c_l_channel_shuffle_layer_kernel_8cpp_source.xhtml#l00095">CLChannelShuffleLayerKernel::configure()</a>, <a class="el" href="_c_l_batch_to_space_layer_kernel_8cpp_source.xhtml#l00084">CLBatchToSpaceLayerKernel::configure()</a>, <a class="el" href="_c_l_normalization_layer_kernel_8cpp_source.xhtml#l00107">CLNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_space_to_batch_layer_kernel_8cpp_source.xhtml#l00089">CLSpaceToBatchLayerKernel::configure()</a>, <a class="el" href="_c_l_upsample_layer_kernel_8cpp_source.xhtml#l00066">CLUpsampleLayerKernel::configure()</a>, <a class="el" href="_c_l_reorg_layer_kernel_8cpp_source.xhtml#l00076">CLReorgLayerKernel::configure()</a>, <a class="el" href="_c_l_comparison_kernel_8cpp_source.xhtml#l00113">CLComparisonKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_reshape_weights_generic_kernel_8cpp_source.xhtml#l00070">CLDepthwiseConvolutionLayerReshapeWeightsGenericKernel::configure()</a>, <a class="el" href="_c_l_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00098">CLNormalizePlanarYUVLayerKernel::configure()</a>, <a class="el" href="_c_l_pooling_layer_kernel_8cpp_source.xhtml#l00185">CLPoolingLayerKernel::configure()</a>, <a class="el" href="_c_l_depthwise_vector_to_tensor_kernel_8cpp_source.xhtml#l00064">CLDepthwiseVectorToTensorKernel::configure()</a>, <a class="el" href="_c_l_depthwise_im2_col_kernel_8cpp_source.xhtml#l00065">CLDepthwiseIm2ColKernel::configure()</a>, <a class="el" href="_c_l_winograd_input_transform_kernel_8cpp_source.xhtml#l00111">CLWinogradInputTransformKernel::configure()</a>, <a class="el" href="_c_l_y_o_l_o_layer_kernel_8cpp_source.xhtml#l00103">CLYOLOLayerKernel::configure()</a>, <a class="el" href="_c_l_winograd_filter_transform_kernel_8cpp_source.xhtml#l00102">CLWinogradFilterTransformKernel::configure()</a>, <a class="el" href="_c_l_batch_normalization_layer_kernel_8cpp_source.xhtml#l00138">CLBatchNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_output_stage_kernel_8cpp_source.xhtml#l00129">CLDirectConvolutionLayerOutputStageKernel::configure()</a>, <a class="el" href="_c_l_winograd_output_transform_kernel_8cpp_source.xhtml#l00146">CLWinogradOutputTransformKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00350">CLDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_c_l_im2_col_kernel_8cpp_source.xhtml#l00293">CLIm2ColKernel::configure()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00708">error_on_data_layout_not_in()</a>.</p>
+
</div>
</div>
<a id="a142b55a483cadf4e1068a1a09a55e8e9"></a>
@@ -19344,12 +20504,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The string describing the data type. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00139">139</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
-
+<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00144">144</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</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="keyword">static</span> std::map<DataType, const std::string> dt_map =</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  {</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  { DataType::UNKNOWN, <span class="stringliteral">"UNKNOWN"</span> },</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  { DataType::S8, <span class="stringliteral">"S8"</span> },</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  { DataType::U8, <span class="stringliteral">"U8"</span> },</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  { DataType::S16, <span class="stringliteral">"S16"</span> },</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  { DataType::U16, <span class="stringliteral">"U16"</span> },</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  { DataType::S32, <span class="stringliteral">"S32"</span> },</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  { DataType::U32, <span class="stringliteral">"U32"</span> },</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  { DataType::S64, <span class="stringliteral">"S64"</span> },</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  { DataType::U64, <span class="stringliteral">"U64"</span> },</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  { DataType::F16, <span class="stringliteral">"F16"</span> },</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  { DataType::F32, <span class="stringliteral">"F32"</span> },</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  { DataType::F64, <span class="stringliteral">"F64"</span> },</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  { DataType::SIZET, <span class="stringliteral">"SIZET"</span> },</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  { DataType::QASYMM8, <span class="stringliteral">"QASYMM8"</span> },</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  };</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="keywordflow">return</span> dt_map[dt];</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span> }</div></div><!-- fragment -->
<p class="reference">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#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</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>
-<p class="reference">Referenced by <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_c_h_w_kernel_8cpp_source.xhtml#l00209">CLDepthwiseConvolutionLayer3x3NCHWKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00141">CLDepthwiseConvolutionLayer3x3NHWCKernel::configure()</a>, <a class="el" href="_c_l_flatten_layer_kernel_8cpp_source.xhtml#l00085">CLFlattenLayerKernel::configure()</a>, <a class="el" href="_c_l_channel_shuffle_layer_kernel_8cpp_source.xhtml#l00094">CLChannelShuffleLayerKernel::configure()</a>, <a class="el" href="_c_l_normalization_layer_kernel_8cpp_source.xhtml#l00108">CLNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_locally_connected_matrix_multiply_kernel_8cpp_source.xhtml#l00084">CLLocallyConnectedMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_reorg_layer_kernel_8cpp_source.xhtml#l00076">CLReorgLayerKernel::configure()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00103">CLActivationLayerKernel::configure()</a>, <a class="el" href="_c_l_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00097">CLNormalizePlanarYUVLayerKernel::configure()</a>, <a class="el" href="_c_l_pooling_layer_kernel_8cpp_source.xhtml#l00184">CLPoolingLayerKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate2_tensors_kernel_8cpp_source.xhtml#l00095">CLWidthConcatenate2TensorsKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_addition_kernel_8cpp_source.xhtml#l00043">GCGEMMMatrixAdditionKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_addition_kernel_8cpp_source.xhtml#l00079">CLGEMMMatrixAdditionKernel::configure()</a>, <a class="el" href="_c_l_arithmetic_addition_kernel_8cpp_source.xhtml#l00120">CLArithmeticAdditionKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate4_tensors_kernel_8cpp_source.xhtml#l00101">CLWidthConcatenate4TensorsKernel::configure()</a>, <a class="el" href="_c_l_y_o_l_o_layer_kernel_8cpp_source.xhtml#l00103">CLYOLOLayerKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_kernel_8cpp_source.xhtml#l00220">CLGEMMLowpMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00221">CLGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_batch_normalization_layer_kernel_8cpp_source.xhtml#l00138">CLBatchNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_winograd_output_transform_kernel_8cpp_source.xhtml#l00136">CLWinogradOutputTransformKernel::configure()</a>, <a class="el" href="_c_l_strided_slice_kernel_8cpp_source.xhtml#l00104">CLStridedSliceKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00350">CLDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_n_e_arithmetic_subtraction_kernel_8cpp_source.xhtml#l00401">NEArithmeticSubtractionKernel::configure()</a>, <a class="el" href="_n_e_arithmetic_addition_kernel_8cpp_source.xhtml#l00410">NEArithmeticAdditionKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_interleave4x4_kernel_8cpp_source.xhtml#l00118">CLGEMMInterleave4x4Kernel::configure()</a>, <a class="el" href="_c_l_col2_im_kernel_8cpp_source.xhtml#l00090">CLCol2ImKernel::configure()</a>, <a class="el" href="_c_l_im2_col_kernel_8cpp_source.xhtml#l00288">CLIm2ColKernel::configure()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00762">data_type_for_convolution_matrix()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00656">error_on_data_type_not_in()</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>  <span class="keyword">static</span> std::map<DataType, const std::string> dt_map =</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>  { DataType::UNKNOWN, <span class="stringliteral">"UNKNOWN"</span> },</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  { DataType::S8, <span class="stringliteral">"S8"</span> },</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  { DataType::U8, <span class="stringliteral">"U8"</span> },</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  { DataType::S16, <span class="stringliteral">"S16"</span> },</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  { DataType::U16, <span class="stringliteral">"U16"</span> },</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  { DataType::S32, <span class="stringliteral">"S32"</span> },</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  { DataType::U32, <span class="stringliteral">"U32"</span> },</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  { DataType::S64, <span class="stringliteral">"S64"</span> },</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  { DataType::U64, <span class="stringliteral">"U64"</span> },</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  { DataType::F16, <span class="stringliteral">"F16"</span> },</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  { DataType::F32, <span class="stringliteral">"F32"</span> },</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  { DataType::F64, <span class="stringliteral">"F64"</span> },</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  { DataType::SIZET, <span class="stringliteral">"SIZET"</span> },</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  { DataType::QASYMM8, <span class="stringliteral">"QASYMM8"</span> },</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  };</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="keywordflow">return</span> dt_map[dt];</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span> }</div></div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_c_h_w_kernel_8cpp_source.xhtml#l00209">CLDepthwiseConvolutionLayer3x3NCHWKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00168">CLDepthwiseConvolutionLayer3x3NHWCKernel::configure()</a>, <a class="el" href="_c_l_flatten_layer_kernel_8cpp_source.xhtml#l00086">CLFlattenLayerKernel::configure()</a>, <a class="el" href="_c_l_channel_shuffle_layer_kernel_8cpp_source.xhtml#l00095">CLChannelShuffleLayerKernel::configure()</a>, <a class="el" href="_c_l_reverse_kernel_8cpp_source.xhtml#l00068">CLReverseKernel::configure()</a>, <a class="el" href="_c_l_normalization_layer_kernel_8cpp_source.xhtml#l00107">CLNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_locally_connected_matrix_multiply_kernel_8cpp_source.xhtml#l00084">CLLocallyConnectedMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_reorg_layer_kernel_8cpp_source.xhtml#l00076">CLReorgLayerKernel::configure()</a>, <a class="el" href="_c_l_tile_kernel_8cpp_source.xhtml#l00068">CLTileKernel::configure()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00103">CLActivationLayerKernel::configure()</a>, <a class="el" href="_c_l_comparison_kernel_8cpp_source.xhtml#l00113">CLComparisonKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_addition_kernel_8cpp_source.xhtml#l00043">GCGEMMMatrixAdditionKernel::configure()</a>, <a class="el" href="_c_l_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00098">CLNormalizePlanarYUVLayerKernel::configure()</a>, <a class="el" href="_c_l_pooling_layer_kernel_8cpp_source.xhtml#l00185">CLPoolingLayerKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_addition_kernel_8cpp_source.xhtml#l00079">CLGEMMMatrixAdditionKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate2_tensors_kernel_8cpp_source.xhtml#l00097">CLWidthConcatenate2TensorsKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_reshaped_kernel_8cpp_source.xhtml#l00175">CLGEMMMatrixMultiplyReshapedKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate4_tensors_kernel_8cpp_source.xhtml#l00115">CLWidthConcatenate4TensorsKernel::configure()</a>, <a class="el" href="_c_l_range_kernel_8cpp_source.xhtml#l00093">CLRangeKernel::configure()</a>, <a class="el" href="_c_l_select_kernel_8cpp_source.xhtml#l00109">CLSelectKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_reshape_l_h_s_matrix_kernel_8cpp_source.xhtml#l00121">CLGEMMReshapeLHSMatrixKernel::configure()</a>, <a class="el" href="_c_l_y_o_l_o_layer_kernel_8cpp_source.xhtml#l00103">CLYOLOLayerKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_kernel_8cpp_source.xhtml#l00234">CLGEMMLowpMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_batch_normalization_layer_kernel_8cpp_source.xhtml#l00138">CLBatchNormalizationLayerKernel::configure()</a>, <a class="el" href="_n_e_select_kernel_8cpp_source.xhtml#l00167">NESelectKernel::configure()</a>, <a class="el" href="_c_l_strided_slice_kernel_8cpp_source.xhtml#l00106">CLStridedSliceKernel::configure()</a>, <a class="el" href="_c_l_winograd_output_transform_kernel_8cpp_source.xhtml#l00146">CLWinogradOutputTransformKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00350">CLDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00263">CLGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_n_e_arithmetic_subtraction_kernel_8cpp_source.xhtml#l00401">NEArithmeticSubtractionKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_interleave4x4_kernel_8cpp_source.xhtml#l00119">CLGEMMInterleave4x4Kernel::configure()</a>, <a class="el" href="_n_e_arithmetic_addition_kernel_8cpp_source.xhtml#l00556">NEArithmeticAdditionKernel::configure()</a>, <a class="el" href="_c_l_col2_im_kernel_8cpp_source.xhtml#l00090">CLCol2ImKernel::configure()</a>, <a class="el" href="_c_l_im2_col_kernel_8cpp_source.xhtml#l00293">CLIm2ColKernel::configure()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00656">error_on_data_type_not_in()</a>.</p>
+
</div>
</div>
<a id="a8b82da7b5e0f6192f415ac347c9e0555"></a>
@@ -19377,12 +20537,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The string describing the format. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00080">80</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
-
+<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00085">85</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</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>  <span class="keyword">static</span> std::map<Format, const std::string> formats_map =</div><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>  { Format::UNKNOWN, <span class="stringliteral">"UNKNOWN"</span> },</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  { Format::U8, <span class="stringliteral">"U8"</span> },</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  { Format::S16, <span class="stringliteral">"S16"</span> },</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  { Format::U16, <span class="stringliteral">"U16"</span> },</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  { Format::S32, <span class="stringliteral">"S32"</span> },</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  { Format::U32, <span class="stringliteral">"U32"</span> },</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  { Format::F16, <span class="stringliteral">"F16"</span> },</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  { Format::F32, <span class="stringliteral">"F32"</span> },</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  { Format::UV88, <span class="stringliteral">"UV88"</span> },</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  { Format::RGB888, <span class="stringliteral">"RGB888"</span> },</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  { Format::RGBA8888, <span class="stringliteral">"RGBA8888"</span> },</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  { Format::YUV444, <span class="stringliteral">"YUV444"</span> },</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  { Format::YUYV422, <span class="stringliteral">"YUYV422"</span> },</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  { Format::NV12, <span class="stringliteral">"NV12"</span> },</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  { Format::NV21, <span class="stringliteral">"NV21"</span> },</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  { Format::IYUV, <span class="stringliteral">"IYUV"</span> },</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  { Format::UYVY422, <span class="stringliteral">"UYVY422"</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> </div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordflow">return</span> formats_map[format];</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> }</div></div><!-- fragment -->
<p class="reference">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#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 class="reference">Referenced by <a class="el" href="_c_l_channel_extract_kernel_8cpp_source.xhtml#l00050">CLChannelExtractKernel::configure()</a>, <a class="el" href="_c_l_color_convert_kernel_8cpp_source.xhtml#l00048">CLColorConvertKernel::configure()</a>, <a class="el" href="_c_l_channel_combine_kernel_8cpp_source.xhtml#l00049">CLChannelCombineKernel::configure()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00762">data_type_for_convolution_matrix()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00623">error_on_format_not_in()</a>.</p>
-<div class="fragment"><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="keyword">static</span> std::map<Format, const std::string> formats_map =</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  {</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  { Format::UNKNOWN, <span class="stringliteral">"UNKNOWN"</span> },</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  { Format::U8, <span class="stringliteral">"U8"</span> },</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  { Format::S16, <span class="stringliteral">"S16"</span> },</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  { Format::U16, <span class="stringliteral">"U16"</span> },</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  { Format::S32, <span class="stringliteral">"S32"</span> },</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  { Format::U32, <span class="stringliteral">"U32"</span> },</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  { Format::F16, <span class="stringliteral">"F16"</span> },</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  { Format::F32, <span class="stringliteral">"F32"</span> },</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  { Format::UV88, <span class="stringliteral">"UV88"</span> },</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  { Format::RGB888, <span class="stringliteral">"RGB888"</span> },</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  { Format::RGBA8888, <span class="stringliteral">"RGBA8888"</span> },</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  { Format::YUV444, <span class="stringliteral">"YUV444"</span> },</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  { Format::YUYV422, <span class="stringliteral">"YUYV422"</span> },</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  { Format::NV12, <span class="stringliteral">"NV12"</span> },</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  { Format::NV21, <span class="stringliteral">"NV21"</span> },</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  { Format::IYUV, <span class="stringliteral">"IYUV"</span> },</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  { Format::UYVY422, <span class="stringliteral">"UYVY422"</span> }</div><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> </div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordflow">return</span> formats_map[format];</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span> }</div></div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="_c_l_channel_extract_kernel_8cpp_source.xhtml#l00050">CLChannelExtractKernel::configure()</a>, <a class="el" href="_c_l_color_convert_kernel_8cpp_source.xhtml#l00048">CLColorConvertKernel::configure()</a>, <a class="el" href="_c_l_channel_combine_kernel_8cpp_source.xhtml#l00049">CLChannelCombineKernel::configure()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00623">error_on_format_not_in()</a>.</p>
+
</div>
</div>
<a id="a291164a04581bf953aa65ae87cc201a2"></a>
@@ -19410,12 +20570,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The string describing the GEMMLowp output stage </dd></dl>
-<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00255">255</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
-
+<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00260">260</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</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>  <span class="keyword">static</span> std::map<GEMMLowpOutputStageType, const std::string> output_stage_map =</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>  { GEMMLowpOutputStageType::NONE, <span class="stringliteral">""</span> },</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  { GEMMLowpOutputStageType::QUANTIZE_DOWN, <span class="stringliteral">"quantize_down"</span> },</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  { GEMMLowpOutputStageType::QUANTIZE_DOWN_FIXEDPOINT, <span class="stringliteral">"quantize_down_fixedpoint"</span> },</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  { GEMMLowpOutputStageType::QUANTIZE_DOWN_FLOAT, <span class="stringliteral">"quantize_down_float"</span> }</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  };</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>  <span class="keywordflow">return</span> output_stage_map[output_stage];</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span> }</div></div><!-- fragment -->
<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864ab50339a10e1de285ac99d4c3990b8693">NONE</a>, <a class="el" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864a079e2ddc95b344b5cb0188bed9a80d8b">QUANTIZE_DOWN</a>, <a class="el" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864ab300cae200f67712c1eb9234e28158ca">QUANTIZE_DOWN_FIXEDPOINT</a>, and <a class="el" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864aad664ac5008f135e38afeb391e524f9c">QUANTIZE_DOWN_FLOAT</a>.</p>
-<p class="reference">Referenced by <a class="el" href="_c_l_g_e_m_m_lowp_offset_contribution_output_stage_kernel_8cpp_source.xhtml#l00161">CLGEMMLowpOffsetContributionOutputStageKernel::configure()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00762">data_type_for_convolution_matrix()</a>.</p>
-<div class="fragment"><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="keyword">static</span> std::map<GEMMLowpOutputStageType, const std::string> output_stage_map =</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>  { GEMMLowpOutputStageType::NONE, <span class="stringliteral">""</span> },</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  { GEMMLowpOutputStageType::QUANTIZE_DOWN, <span class="stringliteral">"quantize_down"</span> },</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  { GEMMLowpOutputStageType::QUANTIZE_DOWN_FIXEDPOINT, <span class="stringliteral">"quantize_down_fixedpoint"</span> },</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  { GEMMLowpOutputStageType::QUANTIZE_DOWN_FLOAT, <span class="stringliteral">"quantize_down_float"</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> output_stage_map[output_stage];</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span> }</div></div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="_c_l_g_e_m_m_lowp_offset_contribution_output_stage_kernel_8cpp_source.xhtml#l00161">CLGEMMLowpOffsetContributionOutputStageKernel::configure()</a>.</p>
+
</div>
</div>
<a id="a3e4a3ad379526db61e1ebf469b455f83"></a>
@@ -19443,13 +20603,13 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The string describing the interpolation policy. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00207">207</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>, <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>, <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2">NEAREST_NEIGHBOR</a>, and <a class="el" href="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00175">arm_compute::test::validation::policy</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_c_l_warp_perspective_kernel_8cpp_source.xhtml#l00061">CLWarpPerspectiveKernel::configure()</a>, <a class="el" href="_c_l_warp_affine_kernel_8cpp_source.xhtml#l00061">CLWarpAffineKernel::configure()</a>, <a class="el" href="_c_l_scale_kernel_8cpp_source.xhtml#l00161">CLScaleKernel::configure()</a>, <a class="el" href="_g_c_scale_kernel_8cpp_source.xhtml#l00047">GCScaleKernel::configure()</a>, <a class="el" href="_c_l_remap_kernel_8cpp_source.xhtml#l00050">CLRemapKernel::configure()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00762">data_type_for_convolution_matrix()</a>.</p>
-<div class="fragment"><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>  <span class="keyword">static</span> std::map<InterpolationPolicy, const std::string> interpolation_policy_map =</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>  { InterpolationPolicy::AREA, <span class="stringliteral">"AREA"</span> },</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  { InterpolationPolicy::BILINEAR, <span class="stringliteral">"BILINEAR"</span> },</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  { InterpolationPolicy::NEAREST_NEIGHBOR, <span class="stringliteral">"NEAREST_NEIGHBOUR"</span> },</div><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> </div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordflow">return</span> interpolation_policy_map[<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">policy</a>];</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad986b73e9d5f47a623a9b6d773c25e34"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">arm_compute::test::validation::policy</a></div><div class="ttdeci">policy</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00175">ArithmeticSubtraction.cpp:175</a></div></div>
+<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00212">212</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
+<div class="fragment"><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>  <span class="keyword">static</span> std::map<InterpolationPolicy, const std::string> interpolation_policy_map =</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>  { InterpolationPolicy::AREA, <span class="stringliteral">"AREA"</span> },</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  { InterpolationPolicy::BILINEAR, <span class="stringliteral">"BILINEAR"</span> },</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  { InterpolationPolicy::NEAREST_NEIGHBOR, <span class="stringliteral">"NEAREST_NEIGHBOUR"</span> },</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> </div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <span class="keywordflow">return</span> interpolation_policy_map[<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">policy</a>];</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad986b73e9d5f47a623a9b6d773c25e34"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">arm_compute::test::validation::policy</a></div><div class="ttdeci">policy</div><div class="ttdef"><b>Definition:</b> <a href="_cast_8cpp_source.xhtml#l00169">Cast.cpp:169</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>, <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>, <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2">NEAREST_NEIGHBOR</a>, and <a class="el" href="_cast_8cpp_source.xhtml#l00169">arm_compute::test::validation::policy</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_c_l_warp_perspective_kernel_8cpp_source.xhtml#l00061">CLWarpPerspectiveKernel::configure()</a>, <a class="el" href="_c_l_warp_affine_kernel_8cpp_source.xhtml#l00061">CLWarpAffineKernel::configure()</a>, <a class="el" href="_g_c_scale_kernel_8cpp_source.xhtml#l00047">GCScaleKernel::configure()</a>, <a class="el" href="_c_l_scale_kernel_8cpp_source.xhtml#l00161">CLScaleKernel::configure()</a>, and <a class="el" href="_c_l_remap_kernel_8cpp_source.xhtml#l00050">CLRemapKernel::configure()</a>.</p>
+
</div>
</div>
<a id="a067481a9a245a2ee831a650e72a377ce"></a>
@@ -19477,12 +20637,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The string describing the matrix pattern. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00182">182</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
-
+<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00187">187</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00188"></a><span class="lineno"> 188</span> {</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <span class="keyword">static</span> std::map<MatrixPattern, const std::string> pattern_map =</div><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>  { MatrixPattern::BOX, <span class="stringliteral">"BOX"</span> },</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  { MatrixPattern::CROSS, <span class="stringliteral">"CROSS"</span> },</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  { MatrixPattern::DISK, <span class="stringliteral">"DISK"</span> },</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  { MatrixPattern::OTHER, <span class="stringliteral">"OTHER"</span> },</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> </div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="keywordflow">return</span> pattern_map[pattern];</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span> }</div></div><!-- fragment -->
<p class="reference">References <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>
-<p class="reference">Referenced by <a class="el" href="_c_l_non_linear_filter_kernel_8cpp_source.xhtml#l00056">CLNonLinearFilterKernel::configure()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00762">data_type_for_convolution_matrix()</a>.</p>
-<div class="fragment"><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>  <span class="keyword">static</span> std::map<MatrixPattern, const std::string> pattern_map =</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>  { MatrixPattern::BOX, <span class="stringliteral">"BOX"</span> },</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  { MatrixPattern::CROSS, <span class="stringliteral">"CROSS"</span> },</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  { MatrixPattern::DISK, <span class="stringliteral">"DISK"</span> },</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  { MatrixPattern::OTHER, <span class="stringliteral">"OTHER"</span> },</div><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> </div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <span class="keywordflow">return</span> pattern_map[pattern];</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span> }</div></div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="_c_l_non_linear_filter_kernel_8cpp_source.xhtml#l00056">CLNonLinearFilterKernel::configure()</a>.</p>
+
</div>
</div>
<a id="a99248d472f05dbf03ac613620f5acbbb"></a>
@@ -19510,12 +20670,14 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The string describing the non linear function. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00195">195</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
-
+<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00200">200</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</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="keyword">static</span> std::map<NonLinearFilterFunction, const std::string> func_map =</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="elementwise__operation_8cl.xhtml#aacc3ee1a7f283f8ef65cea31f4436a95">NonLinearFilterFunction::MAX</a>, <span class="stringliteral">"MAX"</span> },</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  { NonLinearFilterFunction::MEDIAN, <span class="stringliteral">"MEDIAN"</span> },</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  { <a class="code" href="elementwise__operation_8cl.xhtml#a74e75242132eaabbc1c512488a135926">NonLinearFilterFunction::MIN</a>, <span class="stringliteral">"MIN"</span> },</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  };</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>  <span class="keywordflow">return</span> func_map[<span class="keyword">function</span>];</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span> }</div><div class="ttc" id="elementwise__operation_8cl_xhtml_a74e75242132eaabbc1c512488a135926"><div class="ttname"><a href="elementwise__operation_8cl.xhtml#a74e75242132eaabbc1c512488a135926">MIN</a></div><div class="ttdeci">#define MIN(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="elementwise__operation_8cl_source.xhtml#l00037">elementwise_operation.cl:37</a></div></div>
+<div class="ttc" id="elementwise__operation_8cl_xhtml_aacc3ee1a7f283f8ef65cea31f4436a95"><div class="ttname"><a href="elementwise__operation_8cl.xhtml#aacc3ee1a7f283f8ef65cea31f4436a95">MAX</a></div><div class="ttdeci">#define MAX(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="elementwise__operation_8cl_source.xhtml#l00036">elementwise_operation.cl:36</a></div></div>
+</div><!-- fragment -->
<p class="reference">References <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>
-<p class="reference">Referenced by <a class="el" href="_c_l_non_linear_filter_kernel_8cpp_source.xhtml#l00056">CLNonLinearFilterKernel::configure()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00762">data_type_for_convolution_matrix()</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="keyword">static</span> std::map<NonLinearFilterFunction, const std::string> func_map =</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>  { NonLinearFilterFunction::MAX, <span class="stringliteral">"MAX"</span> },</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  { NonLinearFilterFunction::MEDIAN, <span class="stringliteral">"MEDIAN"</span> },</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  { NonLinearFilterFunction::MIN, <span class="stringliteral">"MIN"</span> },</div><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> </div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <span class="keywordflow">return</span> func_map[<span class="keyword">function</span>];</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span> }</div></div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="_c_l_non_linear_filter_kernel_8cpp_source.xhtml#l00056">CLNonLinearFilterKernel::configure()</a>.</p>
+
</div>
</div>
<a id="a0569839ee85ad0e35edaaf3b4c80d706"></a>
@@ -19543,12 +20705,10 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The string describing the normalization type. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00231">231</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
-
+<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00236">236</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</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="keyword">static</span> std::map<NormType, const std::string> norm_type_map =</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>  { NormType::IN_MAP_1D, <span class="stringliteral">"IN_MAP_1D"</span> },</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  { NormType::IN_MAP_2D, <span class="stringliteral">"IN_MAP_2D"</span> },</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  { NormType::CROSS_MAP, <span class="stringliteral">"CROSS_MAP"</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> </div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <span class="keywordflow">return</span> norm_type_map[type];</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span> }</div></div><!-- fragment -->
<p class="reference">References <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>
-<p class="reference">Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00762">data_type_for_convolution_matrix()</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>  <span class="keyword">static</span> std::map<NormType, const std::string> norm_type_map =</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>  { NormType::IN_MAP_1D, <span class="stringliteral">"IN_MAP_1D"</span> },</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  { NormType::IN_MAP_2D, <span class="stringliteral">"IN_MAP_2D"</span> },</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  { NormType::CROSS_MAP, <span class="stringliteral">"CROSS_MAP"</span> },</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>  <span class="keywordflow">return</span> norm_type_map[type];</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="ad6eaf2181f8a8c418acaf3af76239997"></a>
@@ -19577,25 +20737,25 @@
</table>
</div><div class="memdoc">
-<p>Convert a <a class="el" href="classarm__compute_1_1_pixel_value.xhtml" title="Class describing the value of a pixel for any image format. ">PixelValue</a> to a string, represented through the specific data type. </p>
+<p>Convert a <a class="el" href="classarm__compute_1_1_pixel_value.xhtml" title="Class describing the value of a pixel for any image format.">PixelValue</a> to a string, represented through the specific data type. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The <a class="el" href="classarm__compute_1_1_pixel_value.xhtml" title="Class describing the value of a pixel for any image format. ">PixelValue</a> to convert </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The <a class="el" href="classarm__compute_1_1_pixel_value.xhtml" title="Class describing the value of a pixel for any image format.">PixelValue</a> to convert </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">data_type</td><td>The type to be used to convert the <code>value</code> </td></tr>
</table>
</dd>
</dl>
-<dl class="section return"><dt>Returns</dt><dd>String representation of the <a class="el" href="classarm__compute_1_1_pixel_value.xhtml" title="Class describing the value of a pixel for any image format. ">PixelValue</a> through the given data type. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>String representation of the <a class="el" href="classarm__compute_1_1_pixel_value.xhtml" title="Class describing the value of a pixel for any image format.">PixelValue</a> through the given data type. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00268">268</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_c_l_memset_kernel_8cpp_source.xhtml#l00042">CLMemsetKernel::configure()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00762">data_type_for_convolution_matrix()</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>  std::stringstream ss;</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  std::string converted_string;</div><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="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</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="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <span class="comment">// Needs conversion to 32 bit, otherwise interpreted as ASCII values</span></div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  ss << uint32_t(value.<a class="code" href="classarm__compute_1_1_pixel_value.xhtml#a66c4c1f8b1962d71162d7ac0b3ef65bc">get</a><uint8_t>());</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  converted_string = ss.str();</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">case</span> DataType::S8:</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <span class="comment">// Needs conversion to 32 bit, otherwise interpreted as ASCII values</span></div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  ss << int32_t(value.<a class="code" href="classarm__compute_1_1_pixel_value.xhtml#a66c4c1f8b1962d71162d7ac0b3ef65bc">get</a><int8_t>());</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  converted_string = ss.str();</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  ss << value.<a class="code" href="classarm__compute_1_1_pixel_value.xhtml#a66c4c1f8b1962d71162d7ac0b3ef65bc">get</a><uint16_t>();</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  converted_string = ss.str();</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  ss << value.<a class="code" href="classarm__compute_1_1_pixel_value.xhtml#a66c4c1f8b1962d71162d7ac0b3ef65bc">get</a><int16_t>();</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  converted_string = ss.str();</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  ss << value.<a class="code" href="classarm__compute_1_1_pixel_value.xhtml#a66c4c1f8b1962d71162d7ac0b3ef65bc">get</a><uint32_t>();</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  converted_string = ss.str();</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  ss << value.<a class="code" href="classarm__compute_1_1_pixel_value.xhtml#a66c4c1f8b1962d71162d7ac0b3ef65bc">get</a><int32_t>();</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  converted_string = ss.str();</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  converted_string = <a class="code" href="namespacearm__compute.xhtml#a9cd394c15b73f79ca1d98f5328064be2">float_to_string_with_full_precision</a>(value.<a class="code" href="classarm__compute_1_1_pixel_value.xhtml#a66c4c1f8b1962d71162d7ac0b3ef65bc">get</a><<span class="keywordtype">float</span>>());</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  static_assert(<span class="keyword">sizeof</span>(<a class="code" href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">half</a>) == 2, <span class="stringliteral">"Half must be 16 bit"</span>);</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  ss << value.<a class="code" href="classarm__compute_1_1_pixel_value.xhtml#a66c4c1f8b1962d71162d7ac0b3ef65bc">get</a><<a class="code" href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">half</a>>();</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  converted_string = ss.str();</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">default</span>:</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Not handled"</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> </div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  <span class="keywordflow">return</span> converted_string;</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</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#l00261">Error.h:261</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_pixel_value_xhtml_a66c4c1f8b1962d71162d7ac0b3ef65bc"><div class="ttname"><a href="classarm__compute_1_1_pixel_value.xhtml#a66c4c1f8b1962d71162d7ac0b3ef65bc">arm_compute::PixelValue::get</a></div><div class="ttdeci">void get(uint8_t &v) const</div><div class="ttdoc">Interpret the pixel value as a U8. </div><div class="ttdef"><b>Definition:</b> <a href="_pixel_value_8h_source.xhtml#l00157">PixelValue.h:157</a></div></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#l00044">Types.h:44</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_arithmetic_subtraction_8cpp_source.xhtml#l00174">ArithmeticSubtraction.cpp:174</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a9cd394c15b73f79ca1d98f5328064be2"><div class="ttname"><a href="namespacearm__compute.xhtml#a9cd394c15b73f79ca1d98f5328064be2">arm_compute::float_to_string_with_full_precision</a></div><div class="ttdeci">std::string float_to_string_with_full_precision(float val)</div><div class="ttdoc">Create a string with the float in full precision. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l01013">Utils.h:1013</a></div></div>
+<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00273">273</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
+<div class="fragment"><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>  std::stringstream ss;</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  std::string converted_string;</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span> </div><div class="line"><a name="l00278"></a><span class="lineno"> 278</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="l00279"></a><span class="lineno"> 279</span>  {</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <span class="comment">// Needs conversion to 32 bit, otherwise interpreted as ASCII values</span></div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  ss << uint32_t(value.<a class="code" href="classarm__compute_1_1_pixel_value.xhtml#a66c4c1f8b1962d71162d7ac0b3ef65bc">get</a><uint8_t>());</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  converted_string = ss.str();</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  <span class="comment">// Needs conversion to 32 bit, otherwise interpreted as ASCII values</span></div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  ss << int32_t(value.<a class="code" href="classarm__compute_1_1_pixel_value.xhtml#a66c4c1f8b1962d71162d7ac0b3ef65bc">get</a><int8_t>());</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  converted_string = ss.str();</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  ss << value.<a class="code" href="classarm__compute_1_1_pixel_value.xhtml#a66c4c1f8b1962d71162d7ac0b3ef65bc">get</a><uint16_t>();</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  converted_string = ss.str();</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  ss << value.<a class="code" href="classarm__compute_1_1_pixel_value.xhtml#a66c4c1f8b1962d71162d7ac0b3ef65bc">get</a><int16_t>();</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  converted_string = ss.str();</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">case</span> DataType::U32:</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  ss << value.<a class="code" href="classarm__compute_1_1_pixel_value.xhtml#a66c4c1f8b1962d71162d7ac0b3ef65bc">get</a><uint32_t>();</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  converted_string = ss.str();</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  ss << value.<a class="code" href="classarm__compute_1_1_pixel_value.xhtml#a66c4c1f8b1962d71162d7ac0b3ef65bc">get</a><int32_t>();</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  converted_string = ss.str();</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  converted_string = <a class="code" href="namespacearm__compute.xhtml#a9cd394c15b73f79ca1d98f5328064be2">float_to_string_with_full_precision</a>(value.<a class="code" href="classarm__compute_1_1_pixel_value.xhtml#a66c4c1f8b1962d71162d7ac0b3ef65bc">get</a><<span class="keywordtype">float</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> DataType::F16:</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  static_assert(<span class="keyword">sizeof</span>(<a class="code" href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">half</a>) == 2, <span class="stringliteral">"Half must be 16 bit"</span>);</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  ss << value.<a class="code" href="classarm__compute_1_1_pixel_value.xhtml#a66c4c1f8b1962d71162d7ac0b3ef65bc">get</a><<a class="code" href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">half</a>>();</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  converted_string = ss.str();</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Not handled"</span>);</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> </div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <span class="keywordflow">return</span> converted_string;</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</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#l00261">Error.h:261</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_pixel_value_xhtml_a66c4c1f8b1962d71162d7ac0b3ef65bc"><div class="ttname"><a href="classarm__compute_1_1_pixel_value.xhtml#a66c4c1f8b1962d71162d7ac0b3ef65bc">arm_compute::PixelValue::get</a></div><div class="ttdeci">void get(uint8_t &v) const</div><div class="ttdoc">Interpret the pixel value as a U8.</div><div class="ttdef"><b>Definition:</b> <a href="_pixel_value_8h_source.xhtml#l00209">PixelValue.h:209</a></div></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#l00044">Types.h:44</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="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">ConvolutionLayer.cpp:174</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a9cd394c15b73f79ca1d98f5328064be2"><div class="ttname"><a href="namespacearm__compute.xhtml#a9cd394c15b73f79ca1d98f5328064be2">arm_compute::float_to_string_with_full_precision</a></div><div class="ttdeci">std::string float_to_string_with_full_precision(float val)</div><div class="ttdoc">Create a string with the float in full precision.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l01031">Utils.h:1031</a></div></div>
</div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="_c_l_memset_kernel_8cpp_source.xhtml#l00042">CLMemsetKernel::configure()</a>.</p>
+
</div>
</div>
<a id="a1040394085749e4d02a0d4350493ec94"></a>
@@ -19623,12 +20783,13 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The string describing the pooling type. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00243">243</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
-
+<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00248">248</a> of file <a class="el" href="src_2core_2_utils_8cpp_source.xhtml">Utils.cpp</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>  <span class="keyword">static</span> std::map<PoolingType, const std::string> pool_type_map =</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>  { <a class="code" href="elementwise__operation_8cl.xhtml#aacc3ee1a7f283f8ef65cea31f4436a95">PoolingType::MAX</a>, <span class="stringliteral">"MAX"</span> },</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  { PoolingType::AVG, <span class="stringliteral">"AVG"</span> },</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  { PoolingType::L2, <span class="stringliteral">"L2"</span> },</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> </div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <span class="keywordflow">return</span> pool_type_map[type];</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span> }</div><div class="ttc" id="elementwise__operation_8cl_xhtml_aacc3ee1a7f283f8ef65cea31f4436a95"><div class="ttname"><a href="elementwise__operation_8cl.xhtml#aacc3ee1a7f283f8ef65cea31f4436a95">MAX</a></div><div class="ttdeci">#define MAX(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="elementwise__operation_8cl_source.xhtml#l00036">elementwise_operation.cl:36</a></div></div>
+</div><!-- fragment -->
<p class="reference">References <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>
-<p class="reference">Referenced by <a class="el" href="_g_c_pooling_layer_kernel_8cpp_source.xhtml#l00226">GCPoolingLayerKernel::configure()</a>, <a class="el" href="_c_l_pooling_layer_kernel_8cpp_source.xhtml#l00184">CLPoolingLayerKernel::configure()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00762">data_type_for_convolution_matrix()</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="keyword">static</span> std::map<PoolingType, const std::string> pool_type_map =</div><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>  { PoolingType::MAX, <span class="stringliteral">"MAX"</span> },</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  { PoolingType::AVG, <span class="stringliteral">"AVG"</span> },</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  { PoolingType::L2, <span class="stringliteral">"L2"</span> },</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">return</span> pool_type_map[type];</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span> }</div></div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="_g_c_pooling_layer_kernel_8cpp_source.xhtml#l00226">GCPoolingLayerKernel::configure()</a>, and <a class="el" href="_c_l_pooling_layer_kernel_8cpp_source.xhtml#l00185">CLPoolingLayerKernel::configure()</a>.</p>
+
</div>
</div>
<a id="a192c7cf59b34ae925eb1c8c315a06225"></a>
@@ -19647,7 +20808,7 @@
</table>
</div><div class="memdoc">
-<p>Convert a <a class="el" href="classarm__compute_1_1_scheduler.xhtml#a1d1cfd8ffb84e947f82999c682b666a7" title="Scheduler type. ">Scheduler::Type</a> into a string. </p>
+<p>Convert a <a class="el" href="classarm__compute_1_1_scheduler.xhtml#a1d1cfd8ffb84e947f82999c682b666a7" title="Scheduler type.">Scheduler::Type</a> into a string. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">t</td><td><a class="el" href="classarm__compute_1_1_scheduler.xhtml#a1d1cfd8ffb84e947f82999c682b666a7">Scheduler::Type</a> to be translated to string.</td></tr>
@@ -19657,9 +20818,9 @@
<dl class="section return"><dt>Returns</dt><dd>The string describing the scheduler type. </dd></dl>
<p class="definition">Definition at line <a class="el" href="src_2runtime_2_utils_8cpp_source.xhtml#l00035">35</a> of file <a class="el" href="src_2runtime_2_utils_8cpp_source.xhtml">Utils.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="classarm__compute_1_1_scheduler.xhtml#a1d1cfd8ffb84e947f82999c682b666a7a4c162442ef22c58f6f1e330e6b692c7e">Scheduler::CPP</a>, <a class="el" href="classarm__compute_1_1_scheduler.xhtml#a1d1cfd8ffb84e947f82999c682b666a7a72baef04098f035e8a320b03ad197818">Scheduler::CUSTOM</a>, <a class="el" href="classarm__compute_1_1_scheduler.xhtml#a1d1cfd8ffb84e947f82999c682b666a7a6a1f3212967c1a0ff6774f09de77330f">Scheduler::OMP</a>, and <a class="el" href="classarm__compute_1_1_scheduler.xhtml#a1d1cfd8ffb84e947f82999c682b666a7aec8e57d71f07e31203035548b79d03c8">Scheduler::ST</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>  <span class="keyword">static</span> std::map<Scheduler::Type, const std::string> scheduler_type_map =</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  {</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  { Scheduler::Type::ST, <span class="stringliteral">"Single Thread"</span> },</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  { Scheduler::Type::CPP, <span class="stringliteral">"C++11 Threads"</span> },</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  { Scheduler::Type::OMP, <span class="stringliteral">"OpenMP Threads"</span> },</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  { Scheduler::Type::CUSTOM, <span class="stringliteral">"Custom"</span> }</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> </div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keywordflow">return</span> scheduler_type_map[t];</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> }</div></div><!-- fragment -->
+<p class="reference">References <a class="el" href="classarm__compute_1_1_scheduler.xhtml#a1d1cfd8ffb84e947f82999c682b666a7a4c162442ef22c58f6f1e330e6b692c7e">Scheduler::CPP</a>, <a class="el" href="classarm__compute_1_1_scheduler.xhtml#a1d1cfd8ffb84e947f82999c682b666a7a72baef04098f035e8a320b03ad197818">Scheduler::CUSTOM</a>, <a class="el" href="classarm__compute_1_1_scheduler.xhtml#a1d1cfd8ffb84e947f82999c682b666a7a6a1f3212967c1a0ff6774f09de77330f">Scheduler::OMP</a>, and <a class="el" href="classarm__compute_1_1_scheduler.xhtml#a1d1cfd8ffb84e947f82999c682b666a7aec8e57d71f07e31203035548b79d03c8">Scheduler::ST</a>.</p>
+
</div>
</div>
<a id="af7795707992825c309fe846740dc8cf8"></a>
@@ -19688,15 +20849,15 @@
<dl class="section return"><dt>Returns</dt><dd>The string describing the target. </dd></dl>
<p class="definition">Definition at line <a class="el" href="src_2core_2_g_p_u_target_8cpp_source.xhtml#l00103">103</a> of file <a class="el" href="src_2core_2_g_p_u_target_8cpp_source.xhtml">GPUTarget.cpp</a>.</p>
-
+<div class="fragment"><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>  <span class="keyword">static</span> std::map<GPUTarget, const std::string> gpu_target_map =</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>  { GPUTarget::MIDGARD, <span class="stringliteral">"midgard"</span> },</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  { GPUTarget::BIFROST, <span class="stringliteral">"bifrost"</span> },</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  { GPUTarget::T600, <span class="stringliteral">"t600"</span> },</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  { GPUTarget::T700, <span class="stringliteral">"t700"</span> },</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  { GPUTarget::T800, <span class="stringliteral">"t800"</span> },</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  { GPUTarget::G71, <span class="stringliteral">"g71"</span> },</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  { GPUTarget::G72, <span class="stringliteral">"g72"</span> },</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  { GPUTarget::G51, <span class="stringliteral">"g51"</span> },</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  { GPUTarget::G51BIG, <span class="stringliteral">"g51big"</span> },</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  { GPUTarget::G51LIT, <span class="stringliteral">"g51lit"</span> },</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  { GPUTarget::G52, <span class="stringliteral">"g52"</span> },</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  { GPUTarget::G52LIT, <span class="stringliteral">"g52lit"</span> },</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  { GPUTarget::G76, <span class="stringliteral">"g76"</span> },</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  { GPUTarget::TTRX, <span class="stringliteral">"ttrx"</span> },</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  { GPUTarget::TBOX, <span class="stringliteral">"tbox"</span> }</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  };</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="keywordflow">return</span> gpu_target_map[target];</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span> }</div></div><!-- fragment -->
<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa78cc0fd1cab24af0fad71dc4c256f8e">BIFROST</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a0a2d4856ae75ec5a7b78851f6e5875f0">G51</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afc99dd3bc5650c5116886eefd3d18988">G51BIG</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a9d0acedfece9dfaf5cc3e63bfbeecf2f">G51LIT</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a3731064380218cfc2b9613d2b6293cfb">G52</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a4b3e9b93a7e833f9d7ab01d4cf9f7837">G52LIT</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a79515d904f73cf1711207de1b2aa6ac6">G71</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3ab2ac2aea42c95ccc70260ceeb02ec4fc">G72</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa46ce37da51477a1af33a8810e0ed04d">G76</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38">MIDGARD</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a6855a4342969d2b58c96d95385d6e673">T600</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd">T700</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048">T800</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a53e518b6393904e797819c7a941f9ddc">TBOX</a>, and <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3ab39f7e42574174cf9ee7da726bdb13b4">TTRX</a>.</p>
-<p class="reference">Referenced by <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_kernel_8cpp_source.xhtml#l00220">CLGEMMLowpMatrixMultiplyKernel::configure()</a>.</p>
-<div class="fragment"><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>  <span class="keyword">static</span> std::map<GPUTarget, const std::string> gpu_target_map =</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>  { GPUTarget::MIDGARD, <span class="stringliteral">"midgard"</span> },</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  { GPUTarget::BIFROST, <span class="stringliteral">"bifrost"</span> },</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  { GPUTarget::T600, <span class="stringliteral">"t600"</span> },</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  { GPUTarget::T700, <span class="stringliteral">"t700"</span> },</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  { GPUTarget::T800, <span class="stringliteral">"t800"</span> },</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  { GPUTarget::G71, <span class="stringliteral">"g71"</span> },</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  { GPUTarget::G72, <span class="stringliteral">"g72"</span> },</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  { GPUTarget::G51, <span class="stringliteral">"g51"</span> },</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  { GPUTarget::G51BIG, <span class="stringliteral">"g51big"</span> },</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  { GPUTarget::G51LIT, <span class="stringliteral">"g51lit"</span> },</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  { GPUTarget::G52, <span class="stringliteral">"g52"</span> },</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  { GPUTarget::G52LIT, <span class="stringliteral">"g52lit"</span> },</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  { GPUTarget::G76, <span class="stringliteral">"g76"</span> },</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  { GPUTarget::TTRX, <span class="stringliteral">"ttrx"</span> },</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  { GPUTarget::TBOX, <span class="stringliteral">"tbox"</span> }</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  };</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="keywordflow">return</span> gpu_target_map[target];</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span> }</div></div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_kernel_8cpp_source.xhtml#l00234">CLGEMMLowpMatrixMultiplyKernel::configure()</a>.</p>
+
</div>
</div>
<a id="ab75d8ff29ba9b398d5740b3efd156e71"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab75d8ff29ba9b398d5740b3efd156e71">◆ </a></span>to_string() <span class="overload">[1/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#ab75d8ff29ba9b398d5740b3efd156e71">◆ </a></span>to_string() <span class="overload">[1/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -19729,13 +20890,13 @@
<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
<p class="definition">Definition at line <a class="el" href="tests_2_type_printer_8h_source.xhtml#l00064">64</a> of file <a class="el" href="tests_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_function_helpers_8h_source.xhtml#l00133">arm_compute::graph::backends::detail::create_batch_normalization_layer()</a>, <a class="el" href="_function_helpers_8h_source.xhtml#l00296">arm_compute::graph::backends::detail::create_convolution_layer()</a>, <a class="el" href="_g_c_functions_factory_8cpp_source.xhtml#l00109">arm_compute::graph::backends::detail::create_convolution_layer< GCConvolutionLayerFunctions, GCTargetInfo >()</a>, <a class="el" href="_n_e_function_factory_8cpp_source.xhtml#l00082">arm_compute::graph::backends::detail::create_convolution_layer< NEConvolutionLayerFunctions, NETargetInfo >()</a>, <a class="el" href="_function_helpers_8h_source.xhtml#l00431">arm_compute::graph::backends::detail::create_depthwise_convolution_layer()</a>, <a class="el" href="_g_c_functions_factory_8cpp_source.xhtml#l00162">arm_compute::graph::backends::detail::create_depthwise_convolution_layer< GCDepthwiseConvolutionLayerFunctions, GCTargetInfo >()</a>, <a class="el" href="_initializer_list_dataset_8h_source.xhtml#l00085">InitializerListDataset< T >::iterator::description()</a>, <a class="el" href="main_8cpp_source.xhtml#l00087">main()</a>, <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00051">to_string_if_not_null()</a>, and <a class="el" href="_dot_graph_printer_8cpp_source.xhtml#l00043">DotGraphVisitor::visit()</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>  std::stringstream str;</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  str << type;</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span> }</div></div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="_function_helpers_8h_source.xhtml#l00133">arm_compute::graph::backends::detail::create_batch_normalization_layer()</a>, <a class="el" href="_function_helpers_8h_source.xhtml#l00296">arm_compute::graph::backends::detail::create_convolution_layer()</a>, <a class="el" href="_g_c_functions_factory_8cpp_source.xhtml#l00109">arm_compute::graph::backends::detail::create_convolution_layer< GCConvolutionLayerFunctions, GCTargetInfo >()</a>, <a class="el" href="_n_e_function_factory_8cpp_source.xhtml#l00083">arm_compute::graph::backends::detail::create_convolution_layer< NEConvolutionLayerFunctions, NETargetInfo >()</a>, <a class="el" href="_function_helpers_8h_source.xhtml#l00431">arm_compute::graph::backends::detail::create_depthwise_convolution_layer()</a>, <a class="el" href="_g_c_functions_factory_8cpp_source.xhtml#l00162">arm_compute::graph::backends::detail::create_depthwise_convolution_layer< GCDepthwiseConvolutionLayerFunctions, GCTargetInfo >()</a>, <a class="el" href="_initializer_list_dataset_8h_source.xhtml#l00085">InitializerListDataset< T >::iterator::description()</a>, <a class="el" href="main_8cpp_source.xhtml#l00090">main()</a>, <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00051">to_string_if_not_null()</a>, and <a class="el" href="_dot_graph_printer_8cpp_source.xhtml#l00043">DotGraphVisitor::visit()</a>.</p>
+
</div>
</div>
<a id="aabe16be22edb41656e66ed9eae3b69e6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aabe16be22edb41656e66ed9eae3b69e6">◆ </a></span>to_string() <span class="overload">[2/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#aabe16be22edb41656e66ed9eae3b69e6">◆ </a></span>to_string() <span class="overload">[2/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -19772,7 +20933,7 @@
</div>
</div>
<a id="a27f0ebddef1b83e0ac31c7a7a23a8d36"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a27f0ebddef1b83e0ac31c7a7a23a8d36">◆ </a></span>to_string() <span class="overload">[3/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a27f0ebddef1b83e0ac31c7a7a23a8d36">◆ </a></span>to_string() <span class="overload">[3/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -19809,7 +20970,7 @@
</div>
</div>
<a id="ac7e5dca61375f7583860ab07d951a323"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac7e5dca61375f7583860ab07d951a323">◆ </a></span>to_string() <span class="overload">[4/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#ac7e5dca61375f7583860ab07d951a323">◆ </a></span>to_string() <span class="overload">[4/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -19846,7 +21007,7 @@
</div>
</div>
<a id="aadd27b86f0ff4fbb03ed673a549e91a8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aadd27b86f0ff4fbb03ed673a549e91a8">◆ </a></span>to_string() <span class="overload">[5/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#aadd27b86f0ff4fbb03ed673a549e91a8">◆ </a></span>to_string() <span class="overload">[5/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -19869,7 +21030,7 @@
</table>
</div><div class="memdoc">
-<p>Formatted output of the <a class="el" href="classarm__compute_1_1_bounding_box_transform_info.xhtml" title="Bounding Box Transform information class. ">BoundingBoxTransformInfo</a> type. </p>
+<p>Formatted output of the <a class="el" href="classarm__compute_1_1_bounding_box_transform_info.xhtml" title="Bounding Box Transform information class.">BoundingBoxTransformInfo</a> type. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">bbox_info</td><td>Type to output.</td></tr>
@@ -19883,7 +21044,7 @@
</div>
</div>
<a id="a24bc4de5c636b56f9b59533fead920c2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a24bc4de5c636b56f9b59533fead920c2">◆ </a></span>to_string() <span class="overload">[6/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a24bc4de5c636b56f9b59533fead920c2">◆ </a></span>to_string() <span class="overload">[6/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -19906,7 +21067,7 @@
</table>
</div><div class="memdoc">
-<p>Formatted output of the <a class="el" href="classarm__compute_1_1_compute_anchors_info.xhtml" title="ComputeAnchors information class. ">ComputeAnchorsInfo</a> type. </p>
+<p>Formatted output of the <a class="el" href="classarm__compute_1_1_compute_anchors_info.xhtml" title="ComputeAnchors information class.">ComputeAnchorsInfo</a> type. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">anchors_info</td><td>Type to output.</td></tr>
@@ -19920,7 +21081,7 @@
</div>
</div>
<a id="aa597016c0aaa2990ed31b8aaa6f2ccc3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa597016c0aaa2990ed31b8aaa6f2ccc3">◆ </a></span>to_string() <span class="overload">[7/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#aa597016c0aaa2990ed31b8aaa6f2ccc3">◆ </a></span>to_string() <span class="overload">[7/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -19943,7 +21104,7 @@
</table>
</div><div class="memdoc">
-<p>Formatted output of the <a class="el" href="classarm__compute_1_1_generate_proposals_info.xhtml" title="Generate Proposals Information class. ">GenerateProposalsInfo</a> type. </p>
+<p>Formatted output of the <a class="el" href="classarm__compute_1_1_generate_proposals_info.xhtml" title="Generate Proposals Information class.">GenerateProposalsInfo</a> type. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">proposals_info</td><td>Type to output.</td></tr>
@@ -19957,7 +21118,7 @@
</div>
</div>
<a id="ad9fd48b3c01116b217a684aaeaf8b24f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad9fd48b3c01116b217a684aaeaf8b24f">◆ </a></span>to_string() <span class="overload">[8/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#ad9fd48b3c01116b217a684aaeaf8b24f">◆ </a></span>to_string() <span class="overload">[8/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -19980,7 +21141,7 @@
</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>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>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">quantization_info</td><td>Type to output.</td></tr>
@@ -19994,7 +21155,7 @@
</div>
</div>
<a id="a72626d2cca3922127c41526e37e9e623"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a72626d2cca3922127c41526e37e9e623">◆ </a></span>to_string() <span class="overload">[9/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a72626d2cca3922127c41526e37e9e623">◆ </a></span>to_string() <span class="overload">[9/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -20027,15 +21188,14 @@
<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00400">400</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01315">ActivationLayerInfo::activation()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01330">ActivationLayerInfo::enabled()</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>  std::stringstream str;</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  <span class="keywordflow">if</span>(info.<a class="code" href="classarm__compute_1_1_activation_layer_info.xhtml#af5a8385102f8f8dd6c5957eac08b04c2">enabled</a>())</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>  str << info.<a class="code" href="classarm__compute_1_1_activation_layer_info.xhtml#a9e0fb1d1462557f28966ae19988532c2">activation</a>();</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>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span> }</div><div class="ttc" id="classarm__compute_1_1_activation_layer_info_xhtml_af5a8385102f8f8dd6c5957eac08b04c2"><div class="ttname"><a href="classarm__compute_1_1_activation_layer_info.xhtml#af5a8385102f8f8dd6c5957eac08b04c2">arm_compute::ActivationLayerInfo::enabled</a></div><div class="ttdeci">bool enabled() const</div><div class="ttdoc">Check if initialised. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l01330">Types.h:1330</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_activation_layer_info_xhtml_a9e0fb1d1462557f28966ae19988532c2"><div class="ttname"><a href="classarm__compute_1_1_activation_layer_info.xhtml#a9e0fb1d1462557f28966ae19988532c2">arm_compute::ActivationLayerInfo::activation</a></div><div class="ttdeci">ActivationFunction activation() const</div><div class="ttdoc">Get the type of activation function. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l01315">Types.h:1315</a></div></div>
+<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>  std::stringstream str;</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.enabled())</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>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.activation();</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>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a4f4125dba5283887b34f889b1c615c0c"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">arm_compute::test::validation::info</a></div><div class="ttdeci">info</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">ConvolutionLayer.cpp:174</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">arm_compute::test::validation::info</a>.</p>
+
</div>
</div>
<a id="a8a18c453150ab547c1add44b3ed3bc56"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8a18c453150ab547c1add44b3ed3bc56">◆ </a></span>to_string() <span class="overload">[10/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a8a18c453150ab547c1add44b3ed3bc56">◆ </a></span>to_string() <span class="overload">[10/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -20072,7 +21232,7 @@
</div>
</div>
<a id="a45dd771bdecbafb975fd267c2ae320a7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a45dd771bdecbafb975fd267c2ae320a7">◆ </a></span>to_string() <span class="overload">[11/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a45dd771bdecbafb975fd267c2ae320a7">◆ </a></span>to_string() <span class="overload">[11/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -20105,15 +21265,14 @@
<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00456">456</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01366">NormalizationLayerInfo::norm_size()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01361">NormalizationLayerInfo::type()</a>.</p>
-<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>  std::stringstream str;</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  str << info.<a class="code" href="classarm__compute_1_1_normalization_layer_info.xhtml#abf43f970446f0b82889df52463b9c2b8">type</a>() << <span class="stringliteral">":NormSize="</span> << info.<a class="code" href="classarm__compute_1_1_normalization_layer_info.xhtml#a7c3edc4b354dda6c7285541f4f0e5c43">norm_size</a>();</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span> }</div><div class="ttc" id="classarm__compute_1_1_normalization_layer_info_xhtml_a7c3edc4b354dda6c7285541f4f0e5c43"><div class="ttname"><a href="classarm__compute_1_1_normalization_layer_info.xhtml#a7c3edc4b354dda6c7285541f4f0e5c43">arm_compute::NormalizationLayerInfo::norm_size</a></div><div class="ttdeci">uint32_t norm_size() const</div><div class="ttdoc">Get the normalization size. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l01366">Types.h:1366</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_normalization_layer_info_xhtml_abf43f970446f0b82889df52463b9c2b8"><div class="ttname"><a href="classarm__compute_1_1_normalization_layer_info.xhtml#abf43f970446f0b82889df52463b9c2b8">arm_compute::NormalizationLayerInfo::type</a></div><div class="ttdeci">NormType type() const</div><div class="ttdoc">Get the normalization type. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l01361">Types.h:1361</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>  std::stringstream str;</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.type() << <span class="stringliteral">":NormSize="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.norm_size();</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a4f4125dba5283887b34f889b1c615c0c"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">arm_compute::test::validation::info</a></div><div class="ttdeci">info</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">ConvolutionLayer.cpp:174</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">arm_compute::test::validation::info</a>.</p>
+
</div>
</div>
<a id="a25dac68b6321b9e53027e79222a0eb7f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a25dac68b6321b9e53027e79222a0eb7f">◆ </a></span>to_string() <span class="overload">[12/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a25dac68b6321b9e53027e79222a0eb7f">◆ </a></span>to_string() <span class="overload">[12/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -20146,14 +21305,14 @@
<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00523">523</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00168">arm_compute::test::validation::rounding_policy</a>.</p>
<div class="fragment"><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>  std::stringstream str;</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a60ad1078faeaf3f59266d69ad937339f">rounding_policy</a>;</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span> }</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#l00168">PixelWiseMultiplication.cpp:168</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00168">arm_compute::test::validation::rounding_policy</a>.</p>
+
</div>
</div>
<a id="ae1240e4698e8a901179e519102b5e033"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae1240e4698e8a901179e519102b5e033">◆ </a></span>to_string() <span class="overload">[13/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#ae1240e4698e8a901179e519102b5e033">◆ </a></span>to_string() <span class="overload">[13/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -20186,14 +21345,11 @@
<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00564">564</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00251">arm_compute::test::validation::data_layout</a>.</p>
-<div class="fragment"><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>  std::stringstream str;</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">data_layout</a>;</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a786677cbfb3f5677b4d84f3056eb08db"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">arm_compute::test::validation::data_layout</a></div><div class="ttdeci">data_layout</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00251">Winograd.cpp:251</a></div></div>
-</div><!-- fragment -->
+<div class="fragment"><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>  std::stringstream str;</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>  str << data_layout;</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a96b47511b549b48d2ead05b5c757ccc9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a96b47511b549b48d2ead05b5c757ccc9">◆ </a></span>to_string() <span class="overload">[14/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a96b47511b549b48d2ead05b5c757ccc9">◆ </a></span>to_string() <span class="overload">[14/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -20226,14 +21382,14 @@
<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00667">667</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00174">arm_compute::test::validation::data_type</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 << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>;</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><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_arithmetic_subtraction_8cpp_source.xhtml#l00174">ArithmeticSubtraction.cpp:174</a></div></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>  std::stringstream str;</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>;</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><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="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">ConvolutionLayer.cpp:174</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">arm_compute::test::validation::data_type</a>.</p>
+
</div>
</div>
<a id="ab0e6381843dc9901bb59285ec846dc5d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab0e6381843dc9901bb59285ec846dc5d">◆ </a></span>to_string() <span class="overload">[15/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#ab0e6381843dc9901bb59285ec846dc5d">◆ </a></span>to_string() <span class="overload">[15/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -20270,7 +21426,7 @@
</div>
</div>
<a id="a813e71cd70c2bbcbf0743fa83a3608b9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a813e71cd70c2bbcbf0743fa83a3608b9">◆ </a></span>to_string() <span class="overload">[16/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a813e71cd70c2bbcbf0743fa83a3608b9">◆ </a></span>to_string() <span class="overload">[16/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -20307,7 +21463,7 @@
</div>
</div>
<a id="a48fd5e28bdb4975c141841f0b96f8707"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a48fd5e28bdb4975c141841f0b96f8707">◆ </a></span>to_string() <span class="overload">[17/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a48fd5e28bdb4975c141841f0b96f8707">◆ </a></span>to_string() <span class="overload">[17/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -20330,7 +21486,7 @@
</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>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>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
@@ -20339,15 +21495,15 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00956">956</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <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="l00957"></a><span class="lineno"> 957</span> {</div><div class="line"><a name="l00958"></a><span class="lineno"> 958</span>  std::stringstream str;</div><div class="line"><a name="l00959"></a><span class="lineno"> 959</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>;</div><div class="line"><a name="l00960"></a><span class="lineno"> 960</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00961"></a><span class="lineno"> 961</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 class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00974">974</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00975"></a><span class="lineno"> 975</span> {</div><div class="line"><a name="l00976"></a><span class="lineno"> 976</span>  std::stringstream str;</div><div class="line"><a name="l00977"></a><span class="lineno"> 977</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>;</div><div class="line"><a name="l00978"></a><span class="lineno"> 978</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00979"></a><span class="lineno"> 979</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a4f4125dba5283887b34f889b1c615c0c"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">arm_compute::test::validation::info</a></div><div class="ttdeci">info</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">ConvolutionLayer.cpp:174</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">arm_compute::test::validation::info</a>.</p>
+
</div>
</div>
<a id="aa32488ee1dd78e0464ed23e8cc2b6e49"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa32488ee1dd78e0464ed23e8cc2b6e49">◆ </a></span>to_string() <span class="overload">[18/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#aa32488ee1dd78e0464ed23e8cc2b6e49">◆ </a></span>to_string() <span class="overload">[18/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -20370,7 +21526,7 @@
</table>
</div><div class="memdoc">
-<p>Formatted output of the <a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a> type. </p>
+<p>Formatted output of the <a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality.">Dimensions</a> type. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">dimensions</td><td>Type to output.</td></tr>
@@ -20379,12 +21535,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00971">971</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00972"></a><span class="lineno"> 972</span> {</div><div class="line"><a name="l00973"></a><span class="lineno"> 973</span>  std::stringstream str;</div><div class="line"><a name="l00974"></a><span class="lineno"> 974</span>  str << dimensions;</div><div class="line"><a name="l00975"></a><span class="lineno"> 975</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00976"></a><span class="lineno"> 976</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00989">989</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><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>  std::stringstream str;</div><div class="line"><a name="l00992"></a><span class="lineno"> 992</span>  str << dimensions;</div><div class="line"><a name="l00993"></a><span class="lineno"> 993</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00994"></a><span class="lineno"> 994</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a1c4486f45128be7156e38e6dea345a16"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1c4486f45128be7156e38e6dea345a16">◆ </a></span>to_string() <span class="overload">[19/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a1c4486f45128be7156e38e6dea345a16">◆ </a></span>to_string() <span class="overload">[19/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -20407,7 +21563,7 @@
</table>
</div><div class="memdoc">
-<p>Formatted output of the <a class="el" href="classarm__compute_1_1_strides.xhtml" title="Strides of an item in bytes. ">Strides</a> type. </p>
+<p>Formatted output of the <a class="el" href="classarm__compute_1_1_strides.xhtml" title="Strides of an item in bytes.">Strides</a> type. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">stride</td><td>Type to output.</td></tr>
@@ -20416,12 +21572,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00984">984</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00985"></a><span class="lineno"> 985</span> {</div><div class="line"><a name="l00986"></a><span class="lineno"> 986</span>  std::stringstream str;</div><div class="line"><a name="l00987"></a><span class="lineno"> 987</span>  str << stride;</div><div class="line"><a name="l00988"></a><span class="lineno"> 988</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00989"></a><span class="lineno"> 989</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01002">1002</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> {</div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>  std::stringstream str;</div><div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>  str << stride;</div><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a9d9b56d1b106b79fc5c5411372222d0f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9d9b56d1b106b79fc5c5411372222d0f">◆ </a></span>to_string() <span class="overload">[20/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a9d9b56d1b106b79fc5c5411372222d0f">◆ </a></span>to_string() <span class="overload">[20/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -20444,7 +21600,7 @@
</table>
</div><div class="memdoc">
-<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>Formatted output of the <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml" title="Shape of a tensor.">TensorShape</a> type. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">shape</td><td>Type to output.</td></tr>
@@ -20453,15 +21609,15 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00997">997</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00096">arm_compute::test::validation::shape</a>.</p>
-<div class="fragment"><div class="line"><a name="l00998"></a><span class="lineno"> 998</span> {</div><div class="line"><a name="l00999"></a><span class="lineno"> 999</span>  std::stringstream str;</div><div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>;</div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01002"></a><span class="lineno"> 1002</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_arithmetic_division_8cpp_source.xhtml#l00096">ArithmeticDivision.cpp:96</a></div></div>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01015">1015</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><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>  std::stringstream str;</div><div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>;</div><div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01020"></a><span class="lineno"> 1020</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_absolute_difference_8cpp_source.xhtml#l00097">AbsoluteDifference.cpp:97</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00097">arm_compute::test::validation::shape</a>.</p>
+
</div>
</div>
<a id="a805a74997e303d29108845956a674387"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a805a74997e303d29108845956a674387">◆ </a></span>to_string() <span class="overload">[21/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a805a74997e303d29108845956a674387">◆ </a></span>to_string() <span class="overload">[21/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -20484,7 +21640,7 @@
</table>
</div><div class="memdoc">
-<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>Formatted output of the <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item.">Coordinates</a> type. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">coord</td><td>Type to output.</td></tr>
@@ -20493,12 +21649,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01010">1010</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> {</div><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>  std::stringstream str;</div><div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>  str << coord;</div><div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01028">1028</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> {</div><div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>  std::stringstream str;</div><div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>  str << coord;</div><div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a26a595cd5522bae4fa1c4f2fb9b8f4d5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a26a595cd5522bae4fa1c4f2fb9b8f4d5">◆ </a></span>to_string() <span class="overload">[22/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a26a595cd5522bae4fa1c4f2fb9b8f4d5">◆ </a></span>to_string() <span class="overload">[22/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -20521,7 +21677,7 @@
</table>
</div><div class="memdoc">
-<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>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>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
@@ -20530,15 +21686,15 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01095">1095</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <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="l01096"></a><span class="lineno"> 1096</span> {</div><div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>  std::stringstream str;</div><div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>;</div><div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01100"></a><span class="lineno"> 1100</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 class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01113">1113</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><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>  std::stringstream str;</div><div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>;</div><div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01118"></a><span class="lineno"> 1118</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a4f4125dba5283887b34f889b1c615c0c"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">arm_compute::test::validation::info</a></div><div class="ttdeci">info</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">ConvolutionLayer.cpp:174</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">arm_compute::test::validation::info</a>.</p>
+
</div>
</div>
<a id="adac3c1908846c6361e664a353ad1c3cf"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#adac3c1908846c6361e664a353ad1c3cf">◆ </a></span>to_string() <span class="overload">[23/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#adac3c1908846c6361e664a353ad1c3cf">◆ </a></span>to_string() <span class="overload">[23/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -20561,7 +21717,7 @@
</table>
</div><div class="memdoc">
-<p>Formatted output of the <a class="el" href="classarm__compute_1_1_g_e_m_m_reshape_info.xhtml" title="GEMM reshape information class. ">GEMMReshapeInfo</a> type. </p>
+<p>Formatted output of the <a class="el" href="classarm__compute_1_1_g_e_m_m_reshape_info.xhtml" title="GEMM reshape information class.">GEMMReshapeInfo</a> type. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
@@ -20570,15 +21726,15 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01108">1108</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <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="l01109"></a><span class="lineno"> 1109</span> {</div><div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>  std::stringstream str;</div><div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>;</div><div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01113"></a><span class="lineno"> 1113</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 class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01126">1126</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01127"></a><span class="lineno"> 1127</span> {</div><div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>  std::stringstream str;</div><div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>;</div><div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01131"></a><span class="lineno"> 1131</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a4f4125dba5283887b34f889b1c615c0c"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">arm_compute::test::validation::info</a></div><div class="ttdeci">info</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">ConvolutionLayer.cpp:174</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">arm_compute::test::validation::info</a>.</p>
+
</div>
</div>
<a id="a8ac2dfdfad6db71a5cf2ecee6b70f722"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8ac2dfdfad6db71a5cf2ecee6b70f722">◆ </a></span>to_string() <span class="overload">[24/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a8ac2dfdfad6db71a5cf2ecee6b70f722">◆ </a></span>to_string() <span class="overload">[24/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -20601,7 +21757,7 @@
</table>
</div><div class="memdoc">
-<p>Formatted output of the <a class="el" href="classarm__compute_1_1_g_e_m_m_info.xhtml" title="GEMM information class. ">GEMMInfo</a> type. </p>
+<p>Formatted output of the <a class="el" href="classarm__compute_1_1_g_e_m_m_info.xhtml" title="GEMM information class.">GEMMInfo</a> type. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
@@ -20610,15 +21766,15 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01121">1121</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <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="l01122"></a><span class="lineno"> 1122</span> {</div><div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>  std::stringstream str;</div><div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>;</div><div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01126"></a><span class="lineno"> 1126</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 class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01139">1139</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01140"></a><span class="lineno"> 1140</span> {</div><div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>  std::stringstream str;</div><div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>;</div><div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01144"></a><span class="lineno"> 1144</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a4f4125dba5283887b34f889b1c615c0c"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">arm_compute::test::validation::info</a></div><div class="ttdeci">info</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">ConvolutionLayer.cpp:174</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">arm_compute::test::validation::info</a>.</p>
+
</div>
</div>
<a id="ab6ea50ec0a98c2180e6530cfcb5eb366"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab6ea50ec0a98c2180e6530cfcb5eb366">◆ </a></span>to_string() <span class="overload">[25/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#ab6ea50ec0a98c2180e6530cfcb5eb366">◆ </a></span>to_string() <span class="overload">[25/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -20641,7 +21797,7 @@
</table>
</div><div class="memdoc">
-<p>Formatted output of the <a class="el" href="classarm__compute_1_1_window_1_1_dimension.xhtml" title="Describe one of the image's dimensions with a start, end and step. ">Window::Dimension</a> type. </p>
+<p>Formatted output of the <a class="el" href="classarm__compute_1_1_window_1_1_dimension.xhtml" title="Describe one of the image's dimensions with a start, end and step.">Window::Dimension</a> type. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">dim</td><td>Type to output.</td></tr>
@@ -20650,12 +21806,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01134">1134</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l01135"></a><span class="lineno"> 1135</span> {</div><div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>  std::stringstream str;</div><div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>  str << dim;</div><div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01139"></a><span class="lineno"> 1139</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01152">1152</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01153"></a><span class="lineno"> 1153</span> {</div><div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>  std::stringstream str;</div><div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>  str << dim;</div><div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01157"></a><span class="lineno"> 1157</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a99aba2774f142d36c6a286cbfe027772"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a99aba2774f142d36c6a286cbfe027772">◆ </a></span>to_string() <span class="overload">[26/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a99aba2774f142d36c6a286cbfe027772">◆ </a></span>to_string() <span class="overload">[26/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -20678,7 +21834,7 @@
</table>
</div><div class="memdoc">
-<p>Formatted output of the <a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a> type. </p>
+<p>Formatted output of the <a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window.">Window</a> type. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">win</td><td>Type to output.</td></tr>
@@ -20687,12 +21843,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01146">1146</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><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>  std::stringstream str;</div><div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>  str << win;</div><div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01164">1164</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01165"></a><span class="lineno"> 1165</span> {</div><div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>  std::stringstream str;</div><div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>  str << win;</div><div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01169"></a><span class="lineno"> 1169</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a2c0e6c1c4cf10da25e7a7362ba151ba2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2c0e6c1c4cf10da25e7a7362ba151ba2">◆ </a></span>to_string() <span class="overload">[27/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a2c0e6c1c4cf10da25e7a7362ba151ba2">◆ </a></span>to_string() <span class="overload">[27/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -20715,7 +21871,7 @@
</table>
</div><div class="memdoc">
-<p>Formatted output of the <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml" title="Padding and stride information class. ">PadStrideInfo</a> type. </p>
+<p>Formatted output of the <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml" title="Padding and stride information class.">PadStrideInfo</a> type. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">pad_stride_info</td><td>Type to output.</td></tr>
@@ -20724,12 +21880,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01191">1191</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l01192"></a><span class="lineno"> 1192</span> {</div><div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>  std::stringstream str;</div><div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>  str << pad_stride_info;</div><div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01196"></a><span class="lineno"> 1196</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01209">1209</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01210"></a><span class="lineno"> 1210</span> {</div><div class="line"><a name="l01211"></a><span class="lineno"> 1211</span>  std::stringstream str;</div><div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>  str << pad_stride_info;</div><div class="line"><a name="l01213"></a><span class="lineno"> 1213</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01214"></a><span class="lineno"> 1214</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a0604106dd269acd58152a81ba87cc265"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0604106dd269acd58152a81ba87cc265">◆ </a></span>to_string() <span class="overload">[28/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a0604106dd269acd58152a81ba87cc265">◆ </a></span>to_string() <span class="overload">[28/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -20761,12 +21917,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01204">1204</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l01205"></a><span class="lineno"> 1205</span> {</div><div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>  std::stringstream str;</div><div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>  str << mode;</div><div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01209"></a><span class="lineno"> 1209</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01222">1222</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01223"></a><span class="lineno"> 1223</span> {</div><div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>  std::stringstream str;</div><div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>  str << mode;</div><div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01227"></a><span class="lineno"> 1227</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a5c9cde9144eaeceaf086377b9bc5a5be"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5c9cde9144eaeceaf086377b9bc5a5be">◆ </a></span>to_string() <span class="overload">[29/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a5c9cde9144eaeceaf086377b9bc5a5be">◆ </a></span>to_string() <span class="overload">[29/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -20789,7 +21945,7 @@
</table>
</div><div class="memdoc">
-<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>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>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">border</td><td>Type to output.</td></tr>
@@ -20798,12 +21954,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01217">1217</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l01218"></a><span class="lineno"> 1218</span> {</div><div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>  std::stringstream str;</div><div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>  str << border;</div><div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01222"></a><span class="lineno"> 1222</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01235">1235</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01236"></a><span class="lineno"> 1236</span> {</div><div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>  std::stringstream str;</div><div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>  str << border;</div><div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01240"></a><span class="lineno"> 1240</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a09b674dcee4a1b59f9c7c51ecaae40a6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a09b674dcee4a1b59f9c7c51ecaae40a6">◆ </a></span>to_string() <span class="overload">[30/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a09b674dcee4a1b59f9c7c51ecaae40a6">◆ </a></span>to_string() <span class="overload">[30/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -20835,15 +21991,52 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01230">1230</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00111">arm_compute::test::validation::padding</a>.</p>
-<div class="fragment"><div class="line"><a name="l01231"></a><span class="lineno"> 1231</span> {</div><div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>  std::stringstream str;</div><div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a735a025fce26c1ef147b54426df18181">padding</a>;</div><div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01235"></a><span class="lineno"> 1235</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a735a025fce26c1ef147b54426df18181"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a735a025fce26c1ef147b54426df18181">arm_compute::test::validation::padding</a></div><div class="ttdeci">const PaddingSize padding</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00111">ArithmeticDivision.cpp:111</a></div></div>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01248">1248</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><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>  std::stringstream str;</div><div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a735a025fce26c1ef147b54426df18181">padding</a>;</div><div class="line"><a name="l01252"></a><span class="lineno"> 1252</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01253"></a><span class="lineno"> 1253</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a735a025fce26c1ef147b54426df18181"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a735a025fce26c1ef147b54426df18181">arm_compute::test::validation::padding</a></div><div class="ttdeci">const PaddingSize padding</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00113">AbsoluteDifference.cpp:113</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00113">arm_compute::test::validation::padding</a>.</p>
+
+</div>
+</div>
+<a id="ad710fdad147ab4ab21e14a7c49b3516a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad710fdad147ab4ab21e14a7c49b3516a">◆ </a></span>to_string() <span class="overload">[31/57]</span></h2>
+
+<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#afe9e10e5fdfd1e2665ac17c75c0cacd8">Multiples</a> & </td>
+ <td class="paramname"><em>multiples</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 Multiples type. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">multiples</td><td>Type to output.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01261">1261</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01262"></a><span class="lineno"> 1262</span> {</div><div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>  std::stringstream str;</div><div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>  str << multiples;</div><div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01266"></a><span class="lineno"> 1266</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a94bd78942b683c05cba85048537d3ee7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a94bd78942b683c05cba85048537d3ee7">◆ </a></span>to_string() <span class="overload">[31/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a94bd78942b683c05cba85048537d3ee7">◆ </a></span>to_string() <span class="overload">[32/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -20875,15 +22068,15 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01243">1243</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00175">arm_compute::test::validation::policy</a>.</p>
-<div class="fragment"><div class="line"><a name="l01244"></a><span class="lineno"> 1244</span> {</div><div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>  std::stringstream str;</div><div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">policy</a>;</div><div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01248"></a><span class="lineno"> 1248</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad986b73e9d5f47a623a9b6d773c25e34"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">arm_compute::test::validation::policy</a></div><div class="ttdeci">policy</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00175">ArithmeticSubtraction.cpp:175</a></div></div>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01274">1274</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01275"></a><span class="lineno"> 1275</span> {</div><div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>  std::stringstream str;</div><div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">policy</a>;</div><div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01279"></a><span class="lineno"> 1279</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad986b73e9d5f47a623a9b6d773c25e34"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">arm_compute::test::validation::policy</a></div><div class="ttdeci">policy</div><div class="ttdef"><b>Definition:</b> <a href="_cast_8cpp_source.xhtml#l00169">Cast.cpp:169</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_cast_8cpp_source.xhtml#l00169">arm_compute::test::validation::policy</a>.</p>
+
</div>
</div>
<a id="a5b8e815072ae54278cb1c91e254be4d3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5b8e815072ae54278cb1c91e254be4d3">◆ </a></span>to_string() <span class="overload">[32/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a5b8e815072ae54278cb1c91e254be4d3">◆ </a></span>to_string() <span class="overload">[33/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -20915,15 +22108,15 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01256">1256</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00175">arm_compute::test::validation::policy</a>.</p>
-<div class="fragment"><div class="line"><a name="l01257"></a><span class="lineno"> 1257</span> {</div><div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>  std::stringstream str;</div><div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">policy</a>;</div><div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01261"></a><span class="lineno"> 1261</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad986b73e9d5f47a623a9b6d773c25e34"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">arm_compute::test::validation::policy</a></div><div class="ttdeci">policy</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00175">ArithmeticSubtraction.cpp:175</a></div></div>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01287">1287</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01288"></a><span class="lineno"> 1288</span> {</div><div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>  std::stringstream str;</div><div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">policy</a>;</div><div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01292"></a><span class="lineno"> 1292</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad986b73e9d5f47a623a9b6d773c25e34"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">arm_compute::test::validation::policy</a></div><div class="ttdeci">policy</div><div class="ttdef"><b>Definition:</b> <a href="_cast_8cpp_source.xhtml#l00169">Cast.cpp:169</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_cast_8cpp_source.xhtml#l00169">arm_compute::test::validation::policy</a>.</p>
+
</div>
</div>
<a id="adcc7e107e7dbd2ffac02189089c33e4f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#adcc7e107e7dbd2ffac02189089c33e4f">◆ </a></span>to_string() <span class="overload">[33/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#adcc7e107e7dbd2ffac02189089c33e4f">◆ </a></span>to_string() <span class="overload">[34/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -20946,15 +22139,52 @@
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01287">1287</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00175">arm_compute::test::validation::policy</a>.</p>
-<div class="fragment"><div class="line"><a name="l01288"></a><span class="lineno"> 1288</span> {</div><div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>  std::stringstream str;</div><div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">policy</a>;</div><div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01292"></a><span class="lineno"> 1292</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad986b73e9d5f47a623a9b6d773c25e34"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">arm_compute::test::validation::policy</a></div><div class="ttdeci">policy</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00175">ArithmeticSubtraction.cpp:175</a></div></div>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01318">1318</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01319"></a><span class="lineno"> 1319</span> {</div><div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>  std::stringstream str;</div><div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">policy</a>;</div><div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01323"></a><span class="lineno"> 1323</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad986b73e9d5f47a623a9b6d773c25e34"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">arm_compute::test::validation::policy</a></div><div class="ttdeci">policy</div><div class="ttdef"><b>Definition:</b> <a href="_cast_8cpp_source.xhtml#l00169">Cast.cpp:169</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_cast_8cpp_source.xhtml#l00169">arm_compute::test::validation::policy</a>.</p>
+
+</div>
+</div>
+<a id="aca516517d47534e06d4c57e7bc706b2a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aca516517d47534e06d4c57e7bc706b2a">◆ </a></span>to_string() <span class="overload">[35/57]</span></h2>
+
+<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#a23d9f0c01c9e120dfb828ee922b7a8ae">ArithmeticOperation</a> & </td>
+ <td class="paramname"><em>op</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 Arithmetic Operation. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">op</td><td>Type to output.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01367">1367</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01368"></a><span class="lineno"> 1368</span> {</div><div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>  std::stringstream str;</div><div class="line"><a name="l01370"></a><span class="lineno"> 1370</span>  str << op;</div><div class="line"><a name="l01371"></a><span class="lineno"> 1371</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01372"></a><span class="lineno"> 1372</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="aae534105c7ea67999ccbb34a0ed567cd"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aae534105c7ea67999ccbb34a0ed567cd">◆ </a></span>to_string() <span class="overload">[34/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#aae534105c7ea67999ccbb34a0ed567cd">◆ </a></span>to_string() <span class="overload">[36/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -20986,12 +22216,86 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01327">1327</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l01328"></a><span class="lineno"> 1328</span> {</div><div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>  std::stringstream str;</div><div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>  str << op;</div><div class="line"><a name="l01331"></a><span class="lineno"> 1331</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01332"></a><span class="lineno"> 1332</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01416">1416</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01417"></a><span class="lineno"> 1417</span> {</div><div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>  std::stringstream str;</div><div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>  str << op;</div><div class="line"><a name="l01420"></a><span class="lineno"> 1420</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01421"></a><span class="lineno"> 1421</span> }</div></div><!-- fragment -->
+</div>
+</div>
+<a id="a77007283b591963074b8398202e90f5a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a77007283b591963074b8398202e90f5a">◆ </a></span>to_string() <span class="overload">[37/57]</span></h2>
+
+<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#a2d299363c9fc33334c571fa29ca4f58c">ComparisonOperation</a> & </td>
+ <td class="paramname"><em>op</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 Comparison Operations. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">op</td><td>Type to output.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01489">1489</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><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>  std::stringstream str;</div><div class="line"><a name="l01492"></a><span class="lineno"> 1492</span>  str << op;</div><div class="line"><a name="l01493"></a><span class="lineno"> 1493</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01494"></a><span class="lineno"> 1494</span> }</div></div><!-- fragment -->
+</div>
+</div>
+<a id="ab76157462925ad1b13149317ded2e404"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab76157462925ad1b13149317ded2e404">◆ </a></span>to_string() <span class="overload">[38/57]</span></h2>
+
+<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#a5dad01b7eab116403241313417e0936d">ElementWiseUnary</a> & </td>
+ <td class="paramname"><em>op</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 Elementwise unary Operations. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">op</td><td>Type to output.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01502">1502</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><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>  std::stringstream str;</div><div class="line"><a name="l01505"></a><span class="lineno"> 1505</span>  str << op;</div><div class="line"><a name="l01506"></a><span class="lineno"> 1506</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01507"></a><span class="lineno"> 1507</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="ad8b676c38d9b8d9d9bde7caec5720bd9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad8b676c38d9b8d9d9bde7caec5720bd9">◆ </a></span>to_string() <span class="overload">[35/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#ad8b676c38d9b8d9d9bde7caec5720bd9">◆ </a></span>to_string() <span class="overload">[39/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -21023,12 +22327,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01340">1340</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l01341"></a><span class="lineno"> 1341</span> {</div><div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>  std::stringstream str;</div><div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>  str << type;</div><div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01345"></a><span class="lineno"> 1345</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01515">1515</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><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>  std::stringstream str;</div><div class="line"><a name="l01518"></a><span class="lineno"> 1518</span>  str << type;</div><div class="line"><a name="l01519"></a><span class="lineno"> 1519</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01520"></a><span class="lineno"> 1520</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a2872d19dd10dc3117813d291c08e0383"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2872d19dd10dc3117813d291c08e0383">◆ </a></span>to_string() <span class="overload">[36/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a2872d19dd10dc3117813d291c08e0383">◆ </a></span>to_string() <span class="overload">[40/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -21060,12 +22364,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01353">1353</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l01354"></a><span class="lineno"> 1354</span> {</div><div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>  std::stringstream str;</div><div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>  str << type;</div><div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01358"></a><span class="lineno"> 1358</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01528">1528</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><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>  std::stringstream str;</div><div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>  str << type;</div><div class="line"><a name="l01532"></a><span class="lineno"> 1532</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01533"></a><span class="lineno"> 1533</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="acef515348c5f7f73c89aa4b8a47a02bc"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#acef515348c5f7f73c89aa4b8a47a02bc">◆ </a></span>to_string() <span class="overload">[37/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#acef515348c5f7f73c89aa4b8a47a02bc">◆ </a></span>to_string() <span class="overload">[41/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -21097,15 +22401,15 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01366">1366</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_size2_d_8h_source.xhtml#l00093">Size2D::height</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01028">PoolingLayerInfo::is_global_pooling()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01018">PoolingLayerInfo::pad_stride_info()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01013">PoolingLayerInfo::pool_size()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01008">PoolingLayerInfo::pool_type()</a>, and <a class="el" href="_size2_d_8h_source.xhtml#l00092">Size2D::width</a>.</p>
-<div class="fragment"><div class="line"><a name="l01367"></a><span class="lineno"> 1367</span> {</div><div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>  std::stringstream str;</div><div class="line"><a name="l01369"></a><span class="lineno"> 1369</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="l01370"></a><span class="lineno"> 1370</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="l01371"></a><span class="lineno"> 1371</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="l01372"></a><span class="lineno"> 1372</span>  {</div><div class="line"><a name="l01373"></a><span class="lineno"> 1373</span>  str << <span class="stringliteral">","</span></div><div class="line"><a name="l01374"></a><span class="lineno"> 1374</span>  << <span class="stringliteral">"PoolSize="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.pool_size().width << <span class="stringliteral">","</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.pool_size().height << <span class="stringliteral">","</span></div><div class="line"><a name="l01375"></a><span class="lineno"> 1375</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="l01376"></a><span class="lineno"> 1376</span>  }</div><div class="line"><a name="l01377"></a><span class="lineno"> 1377</span>  str << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l01378"></a><span class="lineno"> 1378</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01379"></a><span class="lineno"> 1379</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 class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01541">1541</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><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>  std::stringstream str;</div><div class="line"><a name="l01544"></a><span class="lineno"> 1544</span>  str << <span class="stringliteral">"{Type="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.pool_type() << <span class="stringliteral">","</span></div><div class="line"><a name="l01545"></a><span class="lineno"> 1545</span>  << <span class="stringliteral">"IsGlobalPooling="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.is_global_pooling();</div><div class="line"><a name="l01546"></a><span class="lineno"> 1546</span>  <span class="keywordflow">if</span>(!<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.is_global_pooling())</div><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>  str << <span class="stringliteral">","</span></div><div class="line"><a name="l01549"></a><span class="lineno"> 1549</span>  << <span class="stringliteral">"PoolSize="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.pool_size().width << <span class="stringliteral">","</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.pool_size().height << <span class="stringliteral">","</span></div><div class="line"><a name="l01550"></a><span class="lineno"> 1550</span>  << <span class="stringliteral">"PadStride="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.pad_stride_info();</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>  str << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l01553"></a><span class="lineno"> 1553</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01554"></a><span class="lineno"> 1554</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a4f4125dba5283887b34f889b1c615c0c"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">arm_compute::test::validation::info</a></div><div class="ttdeci">info</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">ConvolutionLayer.cpp:174</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">arm_compute::test::validation::info</a>.</p>
+
</div>
</div>
<a id="ae62747a5179626328bf7e67c709d5fcf"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae62747a5179626328bf7e67c709d5fcf">◆ </a></span>to_string() <span class="overload">[38/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#ae62747a5179626328bf7e67c709d5fcf">◆ </a></span>to_string() <span class="overload">[42/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -21128,7 +22432,7 @@
</table>
</div><div class="memdoc">
-<p>Formatted output of the <a class="el" href="classarm__compute_1_1_prior_box_layer_info.xhtml" title="PriorBox layer info. ">PriorBoxLayerInfo</a>. </p>
+<p>Formatted output of the <a class="el" href="classarm__compute_1_1_prior_box_layer_info.xhtml" title="PriorBox layer info.">PriorBoxLayerInfo</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
@@ -21137,15 +22441,15 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01387">1387</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00929">PriorBoxLayerInfo::clip()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00924">PriorBoxLayerInfo::flip()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00914">PriorBoxLayerInfo::img_size()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00934">PriorBoxLayerInfo::max_sizes()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00899">PriorBoxLayerInfo::min_sizes()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00919">PriorBoxLayerInfo::offset()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00909">PriorBoxLayerInfo::steps()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00904">PriorBoxLayerInfo::variances()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00464">Coordinates2D::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00465">Coordinates2D::y</a>.</p>
-<div class="fragment"><div class="line"><a name="l01388"></a><span class="lineno"> 1388</span> {</div><div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>  std::stringstream str;</div><div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>  str << <span class="stringliteral">"{"</span>;</div><div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>  str << <span class="stringliteral">"Clip:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.clip()</div><div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>  << <span class="stringliteral">"Flip:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.flip()</div><div class="line"><a name="l01393"></a><span class="lineno"> 1393</span>  << <span class="stringliteral">"StepX:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.steps()[0]</div><div class="line"><a name="l01394"></a><span class="lineno"> 1394</span>  << <span class="stringliteral">"StepY:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.steps()[1]</div><div class="line"><a name="l01395"></a><span class="lineno"> 1395</span>  << <span class="stringliteral">"MinSizes:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.min_sizes().size()</div><div class="line"><a name="l01396"></a><span class="lineno"> 1396</span>  << <span class="stringliteral">"MaxSizes:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.max_sizes().size()</div><div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>  << <span class="stringliteral">"ImgSizeX:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.img_size().x</div><div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>  << <span class="stringliteral">"ImgSizeY:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.img_size().y</div><div class="line"><a name="l01399"></a><span class="lineno"> 1399</span>  << <span class="stringliteral">"Offset:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.offset()</div><div class="line"><a name="l01400"></a><span class="lineno"> 1400</span>  << <span class="stringliteral">"Variances:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.variances().size();</div><div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>  str << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01403"></a><span class="lineno"> 1403</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 class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01562">1562</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01563"></a><span class="lineno"> 1563</span> {</div><div class="line"><a name="l01564"></a><span class="lineno"> 1564</span>  std::stringstream str;</div><div class="line"><a name="l01565"></a><span class="lineno"> 1565</span>  str << <span class="stringliteral">"{"</span>;</div><div class="line"><a name="l01566"></a><span class="lineno"> 1566</span>  str << <span class="stringliteral">"Clip:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.clip()</div><div class="line"><a name="l01567"></a><span class="lineno"> 1567</span>  << <span class="stringliteral">"Flip:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.flip()</div><div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>  << <span class="stringliteral">"StepX:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.steps()[0]</div><div class="line"><a name="l01569"></a><span class="lineno"> 1569</span>  << <span class="stringliteral">"StepY:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.steps()[1]</div><div class="line"><a name="l01570"></a><span class="lineno"> 1570</span>  << <span class="stringliteral">"MinSizes:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.min_sizes().size()</div><div class="line"><a name="l01571"></a><span class="lineno"> 1571</span>  << <span class="stringliteral">"MaxSizes:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.max_sizes().size()</div><div class="line"><a name="l01572"></a><span class="lineno"> 1572</span>  << <span class="stringliteral">"ImgSizeX:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.img_size().x</div><div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>  << <span class="stringliteral">"ImgSizeY:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.img_size().y</div><div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>  << <span class="stringliteral">"Offset:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.offset()</div><div class="line"><a name="l01575"></a><span class="lineno"> 1575</span>  << <span class="stringliteral">"Variances:"</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.variances().size();</div><div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>  str << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l01577"></a><span class="lineno"> 1577</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01578"></a><span class="lineno"> 1578</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a4f4125dba5283887b34f889b1c615c0c"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">arm_compute::test::validation::info</a></div><div class="ttdeci">info</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">ConvolutionLayer.cpp:174</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">arm_compute::test::validation::info</a>.</p>
+
</div>
</div>
<a id="ae4ead564f3c96ea5f1ec7fe035b941f3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae4ead564f3c96ea5f1ec7fe035b941f3">◆ </a></span>to_string() <span class="overload">[39/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#ae4ead564f3c96ea5f1ec7fe035b941f3">◆ </a></span>to_string() <span class="overload">[43/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -21177,12 +22481,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01455">1455</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l01456"></a><span class="lineno"> 1456</span> {</div><div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>  std::stringstream str;</div><div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>  str << type;</div><div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01460"></a><span class="lineno"> 1460</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01630">1630</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01631"></a><span class="lineno"> 1631</span> {</div><div class="line"><a name="l01632"></a><span class="lineno"> 1632</span>  std::stringstream str;</div><div class="line"><a name="l01633"></a><span class="lineno"> 1633</span>  str << type;</div><div class="line"><a name="l01634"></a><span class="lineno"> 1634</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01635"></a><span class="lineno"> 1635</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a42e6f8761f01b5846f56c3b8025c8c0a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a42e6f8761f01b5846f56c3b8025c8c0a">◆ </a></span>to_string() <span class="overload">[40/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a42e6f8761f01b5846f56c3b8025c8c0a">◆ </a></span>to_string() <span class="overload">[44/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -21214,12 +22518,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01492">1492</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l01493"></a><span class="lineno"> 1493</span> {</div><div class="line"><a name="l01494"></a><span class="lineno"> 1494</span>  std::stringstream str;</div><div class="line"><a name="l01495"></a><span class="lineno"> 1495</span>  str << type;</div><div class="line"><a name="l01496"></a><span class="lineno"> 1496</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01497"></a><span class="lineno"> 1497</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01667">1667</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><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>  std::stringstream str;</div><div class="line"><a name="l01670"></a><span class="lineno"> 1670</span>  str << type;</div><div class="line"><a name="l01671"></a><span class="lineno"> 1671</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01672"></a><span class="lineno"> 1672</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a950ba288e8136db4bf52f7c51dea20eb"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a950ba288e8136db4bf52f7c51dea20eb">◆ </a></span>to_string() <span class="overload">[41/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a950ba288e8136db4bf52f7c51dea20eb">◆ </a></span>to_string() <span class="overload">[45/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -21251,12 +22555,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01532">1532</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l01533"></a><span class="lineno"> 1533</span> {</div><div class="line"><a name="l01534"></a><span class="lineno"> 1534</span>  std::stringstream str;</div><div class="line"><a name="l01535"></a><span class="lineno"> 1535</span>  str << type;</div><div class="line"><a name="l01536"></a><span class="lineno"> 1536</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01537"></a><span class="lineno"> 1537</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01707">1707</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><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>  std::stringstream str;</div><div class="line"><a name="l01710"></a><span class="lineno"> 1710</span>  str << type;</div><div class="line"><a name="l01711"></a><span class="lineno"> 1711</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01712"></a><span class="lineno"> 1712</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="aee88a2c259879eb9dc18cb5965e87c29"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aee88a2c259879eb9dc18cb5965e87c29">◆ </a></span>to_string() <span class="overload">[42/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#aee88a2c259879eb9dc18cb5965e87c29">◆ </a></span>to_string() <span class="overload">[46/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -21279,7 +22583,7 @@
</table>
</div><div class="memdoc">
-<p>Formatted output of the <a class="el" href="classarm__compute_1_1_size2_d.xhtml" title="Class for specifying the size of an image or rectangle. ">Size2D</a> type. </p>
+<p>Formatted output of the <a class="el" href="classarm__compute_1_1_size2_d.xhtml" title="Class for specifying the size of an image or rectangle.">Size2D</a> type. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Type to output</td></tr>
@@ -21288,12 +22592,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01559">1559</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><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>  std::stringstream str;</div><div class="line"><a name="l01562"></a><span class="lineno"> 1562</span>  str << type;</div><div class="line"><a name="l01563"></a><span class="lineno"> 1563</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01564"></a><span class="lineno"> 1564</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01734">1734</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><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>  std::stringstream str;</div><div class="line"><a name="l01737"></a><span class="lineno"> 1737</span>  str << type;</div><div class="line"><a name="l01738"></a><span class="lineno"> 1738</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01739"></a><span class="lineno"> 1739</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a3cf43a216912b361eaffc3c71452a31e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3cf43a216912b361eaffc3c71452a31e">◆ </a></span>to_string() <span class="overload">[43/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a3cf43a216912b361eaffc3c71452a31e">◆ </a></span>to_string() <span class="overload">[47/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -21316,7 +22620,7 @@
</table>
</div><div class="memdoc">
-<p>Formatted output of the <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml" title="Store the HOG's metadata. ">HOGInfo</a> type. </p>
+<p>Formatted output of the <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml" title="Store the HOG's metadata.">HOGInfo</a> type. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Type to output</td></tr>
@@ -21325,12 +22629,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01593">1593</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l01594"></a><span class="lineno"> 1594</span> {</div><div class="line"><a name="l01595"></a><span class="lineno"> 1595</span>  std::stringstream str;</div><div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>  str << type;</div><div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01598"></a><span class="lineno"> 1598</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01768">1768</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01769"></a><span class="lineno"> 1769</span> {</div><div class="line"><a name="l01770"></a><span class="lineno"> 1770</span>  std::stringstream str;</div><div class="line"><a name="l01771"></a><span class="lineno"> 1771</span>  str << type;</div><div class="line"><a name="l01772"></a><span class="lineno"> 1772</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01773"></a><span class="lineno"> 1773</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a853d44a32a328fb4455f6200a11c4785"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a853d44a32a328fb4455f6200a11c4785">◆ </a></span>to_string() <span class="overload">[44/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a853d44a32a328fb4455f6200a11c4785">◆ </a></span>to_string() <span class="overload">[48/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -21362,12 +22666,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01633">1633</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><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>  std::stringstream str;</div><div class="line"><a name="l01636"></a><span class="lineno"> 1636</span>  str << conv_method;</div><div class="line"><a name="l01637"></a><span class="lineno"> 1637</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01638"></a><span class="lineno"> 1638</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01808">1808</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01809"></a><span class="lineno"> 1809</span> {</div><div class="line"><a name="l01810"></a><span class="lineno"> 1810</span>  std::stringstream str;</div><div class="line"><a name="l01811"></a><span class="lineno"> 1811</span>  str << conv_method;</div><div class="line"><a name="l01812"></a><span class="lineno"> 1812</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01813"></a><span class="lineno"> 1813</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="aee29ccfc095313663fc954f581ddf40a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aee29ccfc095313663fc954f581ddf40a">◆ </a></span>to_string() <span class="overload">[45/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#aee29ccfc095313663fc954f581ddf40a">◆ </a></span>to_string() <span class="overload">[49/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -21399,12 +22703,86 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01706">1706</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l01707"></a><span class="lineno"> 1707</span> {</div><div class="line"><a name="l01708"></a><span class="lineno"> 1708</span>  std::stringstream str;</div><div class="line"><a name="l01709"></a><span class="lineno"> 1709</span>  str << gpu_target;</div><div class="line"><a name="l01710"></a><span class="lineno"> 1710</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01711"></a><span class="lineno"> 1711</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01881">1881</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><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>  std::stringstream str;</div><div class="line"><a name="l01884"></a><span class="lineno"> 1884</span>  str << gpu_target;</div><div class="line"><a name="l01885"></a><span class="lineno"> 1885</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01886"></a><span class="lineno"> 1886</span> }</div></div><!-- fragment -->
+</div>
+</div>
+<a id="a41c7dc2aa88c4e30effb2e3f550de481"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a41c7dc2aa88c4e30effb2e3f550de481">◆ </a></span>to_string() <span class="overload">[50/57]</span></h2>
+
+<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#ad818ba0ecd4a87d8f1bb0d5b17f07830">DetectionOutputLayerCodeType</a> & </td>
+ <td class="paramname"><em>detection_code</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 DetectionOutputLayerCodeType type. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">detection_code</td><td>Type to output</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01942">1942</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><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>  std::stringstream str;</div><div class="line"><a name="l01945"></a><span class="lineno"> 1945</span>  str << detection_code;</div><div class="line"><a name="l01946"></a><span class="lineno"> 1946</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01947"></a><span class="lineno"> 1947</span> }</div></div><!-- fragment -->
+</div>
+</div>
+<a id="a4084858fda1caec39457dd70322e6bd6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4084858fda1caec39457dd70322e6bd6">◆ </a></span>to_string() <span class="overload">[51/57]</span></h2>
+
+<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_detection_output_layer_info.xhtml">DetectionOutputLayerInfo</a> & </td>
+ <td class="paramname"><em>detection_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_detection_output_layer_info.xhtml" title="Detection Output layer info.">DetectionOutputLayerInfo</a> type. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">detection_info</td><td>Type to output</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01980">1980</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01981"></a><span class="lineno"> 1981</span> {</div><div class="line"><a name="l01982"></a><span class="lineno"> 1982</span>  std::stringstream str;</div><div class="line"><a name="l01983"></a><span class="lineno"> 1983</span>  str << detection_info;</div><div class="line"><a name="l01984"></a><span class="lineno"> 1984</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01985"></a><span class="lineno"> 1985</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a905d7ec8787e8c4b7e88b0a2faaccd1f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a905d7ec8787e8c4b7e88b0a2faaccd1f">◆ </a></span>to_string() <span class="overload">[46/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a905d7ec8787e8c4b7e88b0a2faaccd1f">◆ </a></span>to_string() <span class="overload">[52/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -21427,7 +22805,7 @@
</table>
</div><div class="memdoc">
-<p>Formatted output of the <a class="el" href="structarm__compute_1_1_detection_window.xhtml" title="Detection window used for the object detection. ">DetectionWindow</a> type. </p>
+<p>Formatted output of the <a class="el" href="structarm__compute_1_1_detection_window.xhtml" title="Detection window used for the object detection.">DetectionWindow</a> type. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">detection_window</td><td>Type to output</td></tr>
@@ -21436,12 +22814,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01738">1738</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l01739"></a><span class="lineno"> 1739</span> {</div><div class="line"><a name="l01740"></a><span class="lineno"> 1740</span>  std::stringstream str;</div><div class="line"><a name="l01741"></a><span class="lineno"> 1741</span>  str << detection_window;</div><div class="line"><a name="l01742"></a><span class="lineno"> 1742</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01743"></a><span class="lineno"> 1743</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01992">1992</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01993"></a><span class="lineno"> 1993</span> {</div><div class="line"><a name="l01994"></a><span class="lineno"> 1994</span>  std::stringstream str;</div><div class="line"><a name="l01995"></a><span class="lineno"> 1995</span>  str << detection_window;</div><div class="line"><a name="l01996"></a><span class="lineno"> 1996</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01997"></a><span class="lineno"> 1997</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a51fc944d872cf00c1e8e71ccdf8be264"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a51fc944d872cf00c1e8e71ccdf8be264">◆ </a></span>to_string() <span class="overload">[47/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a51fc944d872cf00c1e8e71ccdf8be264">◆ </a></span>to_string() <span class="overload">[53/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -21473,12 +22851,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01778">1778</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l01779"></a><span class="lineno"> 1779</span> {</div><div class="line"><a name="l01780"></a><span class="lineno"> 1780</span>  std::stringstream str;</div><div class="line"><a name="l01781"></a><span class="lineno"> 1781</span>  str << termination;</div><div class="line"><a name="l01782"></a><span class="lineno"> 1782</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01783"></a><span class="lineno"> 1783</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l02032">2032</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l02033"></a><span class="lineno"> 2033</span> {</div><div class="line"><a name="l02034"></a><span class="lineno"> 2034</span>  std::stringstream str;</div><div class="line"><a name="l02035"></a><span class="lineno"> 2035</span>  str << termination;</div><div class="line"><a name="l02036"></a><span class="lineno"> 2036</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l02037"></a><span class="lineno"> 2037</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="add33a9d992aeaa69d6940fd896ee5e75"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#add33a9d992aeaa69d6940fd896ee5e75">◆ </a></span>to_string() <span class="overload">[48/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#add33a9d992aeaa69d6940fd896ee5e75">◆ </a></span>to_string() <span class="overload">[54/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -21510,12 +22888,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01827">1827</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><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>  std::stringstream str;</div><div class="line"><a name="l01830"></a><span class="lineno"> 1830</span>  str << cpu_model;</div><div class="line"><a name="l01831"></a><span class="lineno"> 1831</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01832"></a><span class="lineno"> 1832</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l02081">2081</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l02082"></a><span class="lineno"> 2082</span> {</div><div class="line"><a name="l02083"></a><span class="lineno"> 2083</span>  std::stringstream str;</div><div class="line"><a name="l02084"></a><span class="lineno"> 2084</span>  str << cpu_model;</div><div class="line"><a name="l02085"></a><span class="lineno"> 2085</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l02086"></a><span class="lineno"> 2086</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a6411da4e87e64e8859f8b725645ee9aa"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6411da4e87e64e8859f8b725645ee9aa">◆ </a></span>to_string() <span class="overload">[49/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a6411da4e87e64e8859f8b725645ee9aa">◆ </a></span>to_string() <span class="overload">[55/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -21533,18 +22911,18 @@
<p>Formatted output of a vector of objects. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">args</td><td><a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information. ">Vector</a> of objects to print</td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">args</td><td><a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information.">Vector</a> of objects to print</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>String representing args. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01891">1891</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l01892"></a><span class="lineno"> 1892</span> {</div><div class="line"><a name="l01893"></a><span class="lineno"> 1893</span>  std::stringstream str;</div><div class="line"><a name="l01894"></a><span class="lineno"> 1894</span>  str << args;</div><div class="line"><a name="l01895"></a><span class="lineno"> 1895</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01896"></a><span class="lineno"> 1896</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l02145">2145</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l02146"></a><span class="lineno"> 2146</span> {</div><div class="line"><a name="l02147"></a><span class="lineno"> 2147</span>  std::stringstream str;</div><div class="line"><a name="l02148"></a><span class="lineno"> 2148</span>  str << args;</div><div class="line"><a name="l02149"></a><span class="lineno"> 2149</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l02150"></a><span class="lineno"> 2150</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a37cc282b0852aab04b13a6e6566adda7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a37cc282b0852aab04b13a6e6566adda7">◆ </a></span>to_string() <span class="overload">[50/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a37cc282b0852aab04b13a6e6566adda7">◆ </a></span>to_string() <span class="overload">[56/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -21567,12 +22945,12 @@
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01909">1909</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l01910"></a><span class="lineno"> 1910</span> {</div><div class="line"><a name="l01911"></a><span class="lineno"> 1911</span>  std::stringstream str;</div><div class="line"><a name="l01912"></a><span class="lineno"> 1912</span>  str << type;</div><div class="line"><a name="l01913"></a><span class="lineno"> 1913</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01914"></a><span class="lineno"> 1914</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l02163">2163</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l02164"></a><span class="lineno"> 2164</span> {</div><div class="line"><a name="l02165"></a><span class="lineno"> 2165</span>  std::stringstream str;</div><div class="line"><a name="l02166"></a><span class="lineno"> 2166</span>  str << type;</div><div class="line"><a name="l02167"></a><span class="lineno"> 2167</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l02168"></a><span class="lineno"> 2168</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a1d8c24abe3cf6edd704d126d1d2a5420"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1d8c24abe3cf6edd704d126d1d2a5420">◆ </a></span>to_string() <span class="overload">[51/51]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a1d8c24abe3cf6edd704d126d1d2a5420">◆ </a></span>to_string() <span class="overload">[57/57]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -21604,11 +22982,11 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>String representing val. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01923">1923</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="_toolchain_support_8h_source.xhtml#l00210">arm_compute::support::cpp11::to_string()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01924"></a><span class="lineno"> 1924</span> {</div><div class="line"><a name="l01925"></a><span class="lineno"> 1925</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a1d8c24abe3cf6edd704d126d1d2a5420">support::cpp11::to_string</a>(val);</div><div class="line"><a name="l01926"></a><span class="lineno"> 1926</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a1d8c24abe3cf6edd704d126d1d2a5420"><div class="ttname"><a href="namespacearm__compute.xhtml#a1d8c24abe3cf6edd704d126d1d2a5420">arm_compute::to_string</a></div><div class="ttdeci">std::string to_string(const T &val)</div><div class="ttdoc">Fallback method: try to use std::to_string: </div><div class="ttdef"><b>Definition:</b> <a href="utils_2_type_printer_8h_source.xhtml#l01923">TypePrinter.h:1923</a></div></div>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l02177">2177</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l02178"></a><span class="lineno"> 2178</span> {</div><div class="line"><a name="l02179"></a><span class="lineno"> 2179</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a1d8c24abe3cf6edd704d126d1d2a5420">support::cpp11::to_string</a>(val);</div><div class="line"><a name="l02180"></a><span class="lineno"> 2180</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a1d8c24abe3cf6edd704d126d1d2a5420"><div class="ttname"><a href="namespacearm__compute.xhtml#a1d8c24abe3cf6edd704d126d1d2a5420">arm_compute::to_string</a></div><div class="ttdeci">std::string to_string(const T &val)</div><div class="ttdoc">Fallback method: try to use std::to_string:</div><div class="ttdef"><b>Definition:</b> <a href="utils_2_type_printer_8h_source.xhtml#l02177">TypePrinter.h:2177</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_toolchain_support_8h_source.xhtml#l00210">arm_compute::support::cpp11::to_string()</a>.</p>
+
</div>
</div>
<a id="ad023d4ca1d3facf3975c941fd728a6f4"></a>
@@ -21637,10 +23015,10 @@
<dl class="section return"><dt>Returns</dt><dd>String representing arg. </dd></dl>
<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00051">51</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p class="reference">References <a class="el" href="tests_2_type_printer_8h_source.xhtml#l00064">to_string()</a>.</p>
-<div class="fragment"><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>  <span class="keywordflow">if</span>(arg == <span class="keyword">nullptr</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> <span class="stringliteral">"nullptr"</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>  <span class="keywordflow">else</span></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">return</span> <a class="code" href="namespacearm__compute.xhtml#a1d8c24abe3cf6edd704d126d1d2a5420">to_string</a>(*arg);</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> }</div><div class="ttc" id="namespacearm__compute_xhtml_a1d8c24abe3cf6edd704d126d1d2a5420"><div class="ttname"><a href="namespacearm__compute.xhtml#a1d8c24abe3cf6edd704d126d1d2a5420">arm_compute::to_string</a></div><div class="ttdeci">std::string to_string(const T &val)</div><div class="ttdoc">Fallback method: try to use std::to_string: </div><div class="ttdef"><b>Definition:</b> <a href="utils_2_type_printer_8h_source.xhtml#l01923">TypePrinter.h:1923</a></div></div>
+<div class="fragment"><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>  <span class="keywordflow">if</span>(arg == <span class="keyword">nullptr</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> <span class="stringliteral">"nullptr"</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>  <span class="keywordflow">else</span></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">return</span> <a class="code" href="namespacearm__compute.xhtml#a1d8c24abe3cf6edd704d126d1d2a5420">to_string</a>(*arg);</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> }</div><div class="ttc" id="namespacearm__compute_xhtml_a1d8c24abe3cf6edd704d126d1d2a5420"><div class="ttname"><a href="namespacearm__compute.xhtml#a1d8c24abe3cf6edd704d126d1d2a5420">arm_compute::to_string</a></div><div class="ttdeci">std::string to_string(const T &val)</div><div class="ttdoc">Fallback method: try to use std::to_string:</div><div class="ttdef"><b>Definition:</b> <a href="utils_2_type_printer_8h_source.xhtml#l02177">TypePrinter.h:2177</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="tests_2_type_printer_8h_source.xhtml#l00064">to_string()</a>.</p>
+
</div>
</div>
<a id="afc4bd8e872567d9c4c57d89eb0bb3da1"></a>
@@ -21673,20 +23051,20 @@
<p>First the window size is reduced based on all access patterns that are not allowed to modify the padding of the underlying tensor. Then the padding of the remaining tensors is increased to match the window.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <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> that is used by the kernel. </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> that is used by the kernel. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">patterns</td><td>Access patterns used to calculate the final window and padding.</td></tr>
</table>
</dd>
</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 class="definition">Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00368">368</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
-
-<p class="reference">References <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00028">calculate_max_window()</a>, <a class="el" href="_utility_8h_source.xhtml#l00091">arm_compute::utility::for_each()</a>, <a class="el" href="classarm__compute_1_1_i_access_window.xhtml#a5a5f3d4d4461121db2e4e3b4d3ee587f">IAccessWindow::update_padding_if_needed()</a>, <a class="el" href="classarm__compute_1_1_i_access_window.xhtml#a5b6940395e0168f3f00da892ded537aa">IAccessWindow::update_window_if_needed()</a>, and <a class="el" href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00107">arm_compute::test::validation::valid_region</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_c_l_l2_normalize_layer_kernel_8cpp_source.xhtml#l00039">CLL2NormalizeLayerKernel::CLL2NormalizeLayerKernel()</a>, <a class="el" href="_c_l_locally_connected_matrix_multiply_kernel_8cpp_source.xhtml#l00044">CLLocallyConnectedMatrixMultiplyKernel::CLLocallyConnectedMatrixMultiplyKernel()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00042">GCLogits1DMaxKernel::configure()</a>, <a class="el" href="_c_l_integral_image_kernel_8cpp_source.xhtml#l00039">CLIntegralImageHorKernel::configure()</a>, <a class="el" href="_c_l_warp_perspective_kernel_8cpp_source.xhtml#l00061">CLWarpPerspectiveKernel::configure()</a>, <a class="el" href="_c_l_erode_kernel_8cpp_source.xhtml#l00039">CLErodeKernel::configure()</a>, <a class="el" href="_c_l_dilate_kernel_8cpp_source.xhtml#l00039">CLDilateKernel::configure()</a>, <a class="el" href="_c_l_median3x3_kernel_8cpp_source.xhtml#l00039">CLMedian3x3Kernel::configure()</a>, <a class="el" href="_c_l_gaussian3x3_kernel_8cpp_source.xhtml#l00042">CLGaussian3x3Kernel::configure()</a>, <a class="el" href="_c_l_box3x3_kernel_8cpp_source.xhtml#l00043">CLBox3x3Kernel::configure()</a>, <a class="el" href="_g_c_transpose_kernel_8cpp_source.xhtml#l00040">GCTransposeKernel::configure()</a>, <a class="el" href="_c_l_non_maxima_suppression3x3_kernel_8cpp_source.xhtml#l00044">CLNonMaximaSuppression3x3Kernel::configure()</a>, <a class="el" href="_c_l_warp_affine_kernel_8cpp_source.xhtml#l00061">CLWarpAffineKernel::configure()</a>, <a class="el" href="_n_e_integral_image_kernel_8cpp_source.xhtml#l00038">NEIntegralImageKernel::configure()</a>, <a class="el" href="_g_c_scale_kernel_8cpp_source.xhtml#l00047">GCScaleKernel::configure()</a>, <a class="el" href="_n_e_box3x3_kernel_8cpp_source.xhtml#l00114">NEBox3x3Kernel::configure()</a>, <a class="el" href="_n_e_dilate_kernel_8cpp_source.xhtml#l00048">NEDilateKernel::configure()</a>, <a class="el" href="_n_e_erode_kernel_8cpp_source.xhtml#l00048">NEErodeKernel::configure()</a>, <a class="el" href="_n_e_gaussian3x3_kernel_8cpp_source.xhtml#l00041">NEGaussian3x3Kernel::configure()</a>, <a class="el" href="_n_e_median3x3_kernel_8cpp_source.xhtml#l00054">NEMedian3x3Kernel::configure()</a>, <a class="el" href="_n_e_gaussian5x5_kernel_8cpp_source.xhtml#l00050">NEGaussian5x5HorKernel::configure()</a>, <a class="el" href="_c_l_non_linear_filter_kernel_8cpp_source.xhtml#l00056">CLNonLinearFilterKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_accumulate_biases_kernel_8cpp_source.xhtml#l00044">GCGEMMMatrixAccumulateBiasesKernel::configure()</a>, <a class="el" href="_c_l_gaussian_pyramid_kernel_8cpp_source.xhtml#l00044">CLGaussianPyramidHorKernel::configure()</a>, <a class="el" href="_c_l_histogram_kernel_8cpp_source.xhtml#l00053">CLHistogramKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00040">CLGradientKernel::configure()</a>, <a class="el" href="_c_l_bitwise_or_kernel_8cpp_source.xhtml#l00041">CLBitwiseOrKernel::configure()</a>, <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00062">CLMinMaxKernel::configure()</a>, <a class="el" href="_c_l_remap_kernel_8cpp_source.xhtml#l00050">CLRemapKernel::configure()</a>, <a class="el" href="_c_l_bitwise_xor_kernel_8cpp_source.xhtml#l00041">CLBitwiseXorKernel::configure()</a>, <a class="el" href="_c_l_bitwise_and_kernel_8cpp_source.xhtml#l00040">CLBitwiseAndKernel::configure()</a>, <a class="el" href="_g_c_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00047">GCPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_c_l_derivative_kernel_8cpp_source.xhtml#l00050">CLDerivativeKernel::configure()</a>, <a class="el" href="_c_l_sobel3x3_kernel_8cpp_source.xhtml#l00050">CLSobel3x3Kernel::configure()</a>, <a class="el" href="_i_c_l_simple_kernel_8cpp_source.xhtml#l00038">ICLSimpleKernel::configure()</a>, <a class="el" href="_i_g_c_simple_kernel_8cpp_source.xhtml#l00038">IGCSimpleKernel::configure()</a>, <a class="el" href="_g_c_activation_layer_kernel_8cpp_source.xhtml#l00047">GCActivationLayerKernel::configure()</a>, <a class="el" href="_g_c_depthwise_convolution_layer3x3_kernel_8cpp_source.xhtml#l00051">GCDepthwiseConvolutionLayer3x3Kernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_addition_kernel_8cpp_source.xhtml#l00043">GCGEMMMatrixAdditionKernel::configure()</a>, <a class="el" href="_g_c_normalization_layer_kernel_8cpp_source.xhtml#l00049">GCNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_sobel5x5_kernel_8cpp_source.xhtml#l00050">CLSobel5x5HorKernel::configure()</a>, <a class="el" href="_n_e_gaussian_pyramid_kernel_8cpp_source.xhtml#l00053">NEGaussianPyramidHorKernel::configure()</a>, <a class="el" href="_c_l_sobel7x7_kernel_8cpp_source.xhtml#l00050">CLSobel7x7HorKernel::configure()</a>, <a class="el" href="_c_l_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00048">CLHOGOrientationBinningKernel::configure()</a>, <a class="el" href="_n_e_warp_kernel_8cpp_source.xhtml#l00067">INEWarpKernel::configure()</a>, <a class="el" href="_c_l_absolute_difference_kernel_8cpp_source.xhtml#l00047">CLAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_n_e_bitwise_not_kernel_8cpp_source.xhtml#l00056">NEBitwiseNotKernel::configure()</a>, <a class="el" href="_c_l_channel_extract_kernel_8cpp_source.xhtml#l00050">CLChannelExtractKernel::configure()</a>, <a class="el" href="_g_c_absolute_difference_kernel_8cpp_source.xhtml#l00047">GCAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_transpose1x_w_kernel_8cpp_source.xhtml#l00041">GCGEMMTranspose1xWKernel::configure()</a>, <a class="el" href="_c_l_magnitude_phase_kernel_8cpp_source.xhtml#l00046">CLMagnitudePhaseKernel::configure()</a>, <a class="el" href="_n_e_bitwise_and_kernel_8cpp_source.xhtml#l00061">NEBitwiseAndKernel::configure()</a>, <a class="el" href="_c_l_mean_std_dev_kernel_8cpp_source.xhtml#l00066">CLMeanStdDevKernel::configure()</a>, <a class="el" href="_n_e_bitwise_or_kernel_8cpp_source.xhtml#l00057">NEBitwiseOrKernel::configure()</a>, <a class="el" href="_n_e_bitwise_xor_kernel_8cpp_source.xhtml#l00057">NEBitwiseXorKernel::configure()</a>, <a class="el" href="_c_l_color_convert_kernel_8cpp_source.xhtml#l00048">CLColorConvertKernel::configure()</a>, <a class="el" href="_c_l_channel_combine_kernel_8cpp_source.xhtml#l00049">CLChannelCombineKernel::configure()</a>, <a class="el" href="_n_e_derivative_kernel_8cpp_source.xhtml#l00054">NEDerivativeKernel::configure()</a>, <a class="el" href="_g_c_direct_convolution_layer_kernel_8cpp_source.xhtml#l00053">GCDirectConvolutionLayerKernel< kernel_size >::configure()</a>, <a class="el" href="_n_e_color_convert_kernel_8cpp_source.xhtml#l00045">NEColorConvertKernel::configure()</a>, <a class="el" href="_n_e_fast_corners_kernel_8cpp_source.xhtml#l00361">NEFastCornersKernel::configure()</a>, <a class="el" href="_n_e_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00632">NEHOGOrientationBinningKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00057">CLConvolutionKernel< matrix_size >::configure()</a>, <a class="el" href="_n_e_remap_kernel_8cpp_source.xhtml#l00076">NERemapKernel::configure()</a>, <a class="el" href="_g_c_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00050">GCDepthConcatenateLayerKernel::configure()</a>, <a class="el" href="_c_l_integral_image_kernel_8cpp_source.xhtml#l00071">CLIntegralImageVertKernel::configure()</a>, <a class="el" href="_n_e_absolute_difference_kernel_8cpp_source.xhtml#l00133">NEAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_c_l_r_o_i_pooling_layer_kernel_8cpp_source.xhtml#l00049">CLROIPoolingLayerKernel::configure()</a>, <a class="el" href="_n_e_non_linear_filter_kernel_8cpp_source.xhtml#l00353">NENonLinearFilterKernel::configure()</a>, <a class="el" href="_n_e_threshold_kernel_8cpp_source.xhtml#l00045">NEThresholdKernel::configure()</a>, <a class="el" href="_n_e_sobel5x5_kernel_8cpp_source.xhtml#l00050">NESobel5x5HorKernel::configure()</a>, <a class="el" href="_n_e_channel_extract_kernel_8cpp_source.xhtml#l00052">NEChannelExtractKernel::configure()</a>, <a class="el" href="_n_e_magnitude_phase_kernel_8cpp_source.xhtml#l00250">NEMagnitudePhaseKernel< mag_type, phase_type >::configure()</a>, <a class="el" href="_n_e_fill_array_kernel_8cpp_source.xhtml#l00039">NEFillArrayKernel::configure()</a>, <a class="el" href="_n_e_non_maxima_suppression3x3_kernel_8cpp_source.xhtml#l00462">NENonMaximaSuppression3x3Kernel::configure()</a>, <a class="el" href="_n_e_sobel7x7_kernel_8cpp_source.xhtml#l00153">NESobel7x7HorKernel::configure()</a>, <a class="el" href="_n_e_mean_std_dev_kernel_8cpp_source.xhtml#l00097">NEMeanStdDevKernel::configure()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00107">GCLogits1DShiftExpSumKernel::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l00877">NEGradientKernel::configure()</a>, <a class="el" href="_n_e_channel_combine_kernel_8cpp_source.xhtml#l00052">NEChannelCombineKernel::configure()</a>, <a class="el" href="_c_p_p_corner_candidates_kernel_8cpp_source.xhtml#l00074">CPPCornerCandidatesKernel::configure()</a>, <a class="el" href="_n_e_h_o_g_detector_kernel_8cpp_source.xhtml#l00042">NEHOGDetectorKernel::configure()</a>, <a class="el" href="_c_l_harris_corners_kernel_8cpp_source.xhtml#l00054">CLHarrisScoreKernel::configure()</a>, <a class="el" href="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00050">CLFastCornersKernel::configure()</a>, <a class="el" href="_n_e_r_o_i_pooling_layer_kernel_8cpp_source.xhtml#l00045">NEROIPoolingLayerKernel::configure()</a>, <a class="el" href="_c_l_h_o_g_detector_kernel_8cpp_source.xhtml#l00044">CLHOGDetectorKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_interleave4x4_kernel_8cpp_source.xhtml#l00044">GCGEMMInterleave4x4Kernel::configure()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l00324">NEConvolutionKernel< matrix_size >::configure()</a>, <a class="el" href="_n_e_scharr3x3_kernel_8cpp_source.xhtml#l00090">NEScharr3x3Kernel::configure()</a>, <a class="el" href="_c_l_scharr3x3_kernel_8cpp_source.xhtml#l00050">CLScharr3x3Kernel::configure()</a>, <a class="el" href="_n_e_sobel3x3_kernel_8cpp_source.xhtml#l00048">NESobel3x3Kernel::configure()</a>, <a class="el" href="_n_e_gaussian5x5_kernel_8cpp_source.xhtml#l00118">NEGaussian5x5VertKernel::configure()</a>, <a class="el" href="_g_c_col2_im_kernel_8cpp_source.xhtml#l00044">GCCol2ImKernel::configure()</a>, <a class="el" href="_g_c_im2_col_kernel_8cpp_source.xhtml#l00067">GCIm2ColKernel::configure()</a>, <a class="el" href="_c_l_gaussian_pyramid_kernel_8cpp_source.xhtml#l00136">CLGaussianPyramidVertKernel::configure()</a>, <a class="el" href="_c_l_histogram_kernel_8cpp_source.xhtml#l00149">CLHistogramBorderKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00111">CLEdgeNonMaxSuppressionKernel::configure()</a>, <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00169">CLMinMaxLocationKernel::configure()</a>, <a class="el" href="_c_l_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00125">CLHOGBlockNormalizationKernel::configure()</a>, <a class="el" href="_n_e_harris_corners_kernel_8cpp_source.xhtml#l00736">NEHarrisScoreKernel< block_size >::configure()</a>, <a class="el" href="_n_e_gaussian_pyramid_kernel_8cpp_source.xhtml#l00161">NEGaussianPyramidVertKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00127">CLSeparableConvolutionHorKernel< matrix_size >::configure()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00201">GCLogits1DNormKernel::configure()</a>, <a class="el" href="_c_l_sobel5x5_kernel_8cpp_source.xhtml#l00144">CLSobel5x5VertKernel::configure()</a>, <a class="el" href="_c_l_sobel7x7_kernel_8cpp_source.xhtml#l00147">CLSobel7x7VertKernel::configure()</a>, <a class="el" href="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00115">CLCopyToArrayKernel::configure()</a>, <a class="el" href="_n_e_sobel5x5_kernel_8cpp_source.xhtml#l00217">NESobel5x5VertKernel::configure()</a>, <a class="el" href="_n_e_sobel7x7_kernel_8cpp_source.xhtml#l00307">NESobel7x7VertKernel::configure()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l00666">NESeparableConvolutionHorKernel< matrix_size >::configure()</a>, <a class="el" href="_n_e_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00714">NEHOGBlockNormalizationKernel::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l00970">NEEdgeNonMaxSuppressionKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00180">CLSeparableConvolutionVertKernel< matrix_size >::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00173">CLEdgeTraceKernel::configure()</a>, <a class="el" href="_c_l_l_k_tracker_kernel_8cpp_source.xhtml#l00123">CLLKTrackerStage0Kernel::configure()</a>, <a class="el" href="_n_e_min_max_location_kernel_8cpp_source.xhtml#l00335">NEMinMaxLocationKernel::configure()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l01103">NESeparableConvolutionVertKernel< matrix_size >::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00246">CLConvolutionRectangleKernel::configure()</a>, <a class="el" href="_c_l_l_k_tracker_kernel_8cpp_source.xhtml#l00213">CLLKTrackerStage1Kernel::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l01059">NEEdgeTraceKernel::configure()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l01427">NEConvolutionRectangleKernel::configure()</a>, <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00486">NELogits1DMaxKernel::run()</a>, and <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00324">vadd()</a>.</p>
-<div class="fragment"><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="keywordtype">bool</span> window_changed = <span class="keyword">false</span>;</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>  <a class="code" href="namespacearm__compute_1_1utility.xhtml#a067ebd28103d827b6ec17032e2344064">utility::for_each</a>([&](<span class="keyword">const</span> IAccessWindow & w)</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>  window_changed |= w.update_window_if_needed(win);</div><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>  patterns...);</div><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>  <span class="keywordtype">bool</span> padding_changed = <span class="keyword">false</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>  <a class="code" href="namespacearm__compute_1_1utility.xhtml#a067ebd28103d827b6ec17032e2344064">utility::for_each</a>([&](IAccessWindow & w)</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>  padding_changed |= w.update_padding_if_needed(win);</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>  patterns...);</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> window_changed;</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span> }</div><div class="ttc" id="namespacearm__compute_1_1utility_xhtml_a067ebd28103d827b6ec17032e2344064"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#a067ebd28103d827b6ec17032e2344064">arm_compute::utility::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="_utility_8h_source.xhtml#l00091">Utility.h:91</a></div></div>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00402">402</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="l00403"></a><span class="lineno"> 403</span> {</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  <span class="keywordtype">bool</span> window_changed = <span class="keyword">false</span>;</div><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_1_1utility.xhtml#a067ebd28103d827b6ec17032e2344064">utility::for_each</a>([&](<span class="keyword">const</span> IAccessWindow & w)</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>  window_changed |= w.update_window_if_needed(win);</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>  patterns...);</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="keywordtype">bool</span> padding_changed = <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>  <a class="code" href="namespacearm__compute_1_1utility.xhtml#a067ebd28103d827b6ec17032e2344064">utility::for_each</a>([&](IAccessWindow & w)</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>  padding_changed |= w.update_padding_if_needed(win);</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>  patterns...);</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> window_changed;</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span> }</div><div class="ttc" id="namespacearm__compute_1_1utility_xhtml_a067ebd28103d827b6ec17032e2344064"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#a067ebd28103d827b6ec17032e2344064">arm_compute::utility::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="_utility_8h_source.xhtml#l00093">Utility.h:93</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_utility_8h_source.xhtml#l00093">arm_compute::utility::for_each()</a>, <a class="el" href="classarm__compute_1_1_i_access_window.xhtml#a5a5f3d4d4461121db2e4e3b4d3ee587f">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>
+
+<p class="reference">Referenced by <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00042">GCLogits1DMaxKernel::configure()</a>, <a class="el" href="_c_l_integral_image_kernel_8cpp_source.xhtml#l00039">CLIntegralImageHorKernel::configure()</a>, <a class="el" href="_c_l_warp_perspective_kernel_8cpp_source.xhtml#l00061">CLWarpPerspectiveKernel::configure()</a>, <a class="el" href="_c_l_dilate_kernel_8cpp_source.xhtml#l00039">CLDilateKernel::configure()</a>, <a class="el" href="_c_l_erode_kernel_8cpp_source.xhtml#l00039">CLErodeKernel::configure()</a>, <a class="el" href="_c_l_median3x3_kernel_8cpp_source.xhtml#l00039">CLMedian3x3Kernel::configure()</a>, <a class="el" href="_c_l_gaussian3x3_kernel_8cpp_source.xhtml#l00042">CLGaussian3x3Kernel::configure()</a>, <a class="el" href="_c_l_box3x3_kernel_8cpp_source.xhtml#l00043">CLBox3x3Kernel::configure()</a>, <a class="el" href="_g_c_transpose_kernel_8cpp_source.xhtml#l00040">GCTransposeKernel::configure()</a>, <a class="el" href="_c_l_non_maxima_suppression3x3_kernel_8cpp_source.xhtml#l00044">CLNonMaximaSuppression3x3Kernel::configure()</a>, <a class="el" href="_c_l_warp_affine_kernel_8cpp_source.xhtml#l00061">CLWarpAffineKernel::configure()</a>, <a class="el" href="_n_e_integral_image_kernel_8cpp_source.xhtml#l00038">NEIntegralImageKernel::configure()</a>, <a class="el" href="_g_c_scale_kernel_8cpp_source.xhtml#l00047">GCScaleKernel::configure()</a>, <a class="el" href="_n_e_box3x3_kernel_8cpp_source.xhtml#l00114">NEBox3x3Kernel::configure()</a>, <a class="el" href="_n_e_dilate_kernel_8cpp_source.xhtml#l00048">NEDilateKernel::configure()</a>, <a class="el" href="_n_e_erode_kernel_8cpp_source.xhtml#l00048">NEErodeKernel::configure()</a>, <a class="el" href="_n_e_gaussian3x3_kernel_8cpp_source.xhtml#l00041">NEGaussian3x3Kernel::configure()</a>, <a class="el" href="_n_e_median3x3_kernel_8cpp_source.xhtml#l00054">NEMedian3x3Kernel::configure()</a>, <a class="el" href="_n_e_gaussian5x5_kernel_8cpp_source.xhtml#l00050">NEGaussian5x5HorKernel::configure()</a>, <a class="el" href="_c_l_non_linear_filter_kernel_8cpp_source.xhtml#l00056">CLNonLinearFilterKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_accumulate_biases_kernel_8cpp_source.xhtml#l00044">GCGEMMMatrixAccumulateBiasesKernel::configure()</a>, <a class="el" href="_c_l_gaussian_pyramid_kernel_8cpp_source.xhtml#l00044">CLGaussianPyramidHorKernel::configure()</a>, <a class="el" href="_c_l_histogram_kernel_8cpp_source.xhtml#l00053">CLHistogramKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00040">CLGradientKernel::configure()</a>, <a class="el" href="_c_l_bitwise_or_kernel_8cpp_source.xhtml#l00041">CLBitwiseOrKernel::configure()</a>, <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00062">CLMinMaxKernel::configure()</a>, <a class="el" href="_c_l_remap_kernel_8cpp_source.xhtml#l00050">CLRemapKernel::configure()</a>, <a class="el" href="_c_l_bitwise_xor_kernel_8cpp_source.xhtml#l00041">CLBitwiseXorKernel::configure()</a>, <a class="el" href="_c_l_bitwise_and_kernel_8cpp_source.xhtml#l00040">CLBitwiseAndKernel::configure()</a>, <a class="el" href="_g_c_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00047">GCPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_c_l_derivative_kernel_8cpp_source.xhtml#l00050">CLDerivativeKernel::configure()</a>, <a class="el" href="_c_l_sobel3x3_kernel_8cpp_source.xhtml#l00050">CLSobel3x3Kernel::configure()</a>, <a class="el" href="_i_c_l_simple_kernel_8cpp_source.xhtml#l00038">ICLSimpleKernel::configure()</a>, <a class="el" href="_i_g_c_simple_kernel_8cpp_source.xhtml#l00038">IGCSimpleKernel::configure()</a>, <a class="el" href="_g_c_activation_layer_kernel_8cpp_source.xhtml#l00047">GCActivationLayerKernel::configure()</a>, <a class="el" href="_g_c_depthwise_convolution_layer3x3_kernel_8cpp_source.xhtml#l00051">GCDepthwiseConvolutionLayer3x3Kernel::configure()</a>, <a class="el" href="_g_c_normalization_layer_kernel_8cpp_source.xhtml#l00049">GCNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_sobel5x5_kernel_8cpp_source.xhtml#l00050">CLSobel5x5HorKernel::configure()</a>, <a class="el" href="_c_l_sobel7x7_kernel_8cpp_source.xhtml#l00050">CLSobel7x7HorKernel::configure()</a>, <a class="el" href="_n_e_gaussian_pyramid_kernel_8cpp_source.xhtml#l00053">NEGaussianPyramidHorKernel::configure()</a>, <a class="el" href="_c_l_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00048">CLHOGOrientationBinningKernel::configure()</a>, <a class="el" href="_n_e_warp_kernel_8cpp_source.xhtml#l00067">INEWarpKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_addition_kernel_8cpp_source.xhtml#l00043">GCGEMMMatrixAdditionKernel::configure()</a>, <a class="el" href="_c_l_absolute_difference_kernel_8cpp_source.xhtml#l00047">CLAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_n_e_bitwise_not_kernel_8cpp_source.xhtml#l00056">NEBitwiseNotKernel::configure()</a>, <a class="el" href="_c_l_channel_extract_kernel_8cpp_source.xhtml#l00050">CLChannelExtractKernel::configure()</a>, <a class="el" href="_g_c_absolute_difference_kernel_8cpp_source.xhtml#l00047">GCAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_n_e_bitwise_xor_kernel_8cpp_source.xhtml#l00057">NEBitwiseXorKernel::configure()</a>, <a class="el" href="_c_l_magnitude_phase_kernel_8cpp_source.xhtml#l00046">CLMagnitudePhaseKernel::configure()</a>, <a class="el" href="_n_e_bitwise_and_kernel_8cpp_source.xhtml#l00061">NEBitwiseAndKernel::configure()</a>, <a class="el" href="_c_l_mean_std_dev_kernel_8cpp_source.xhtml#l00066">CLMeanStdDevKernel::configure()</a>, <a class="el" href="_n_e_bitwise_or_kernel_8cpp_source.xhtml#l00057">NEBitwiseOrKernel::configure()</a>, <a class="el" href="_c_l_color_convert_kernel_8cpp_source.xhtml#l00048">CLColorConvertKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_transpose1x_w_kernel_8cpp_source.xhtml#l00041">GCGEMMTranspose1xWKernel::configure()</a>, <a class="el" href="_c_l_channel_combine_kernel_8cpp_source.xhtml#l00049">CLChannelCombineKernel::configure()</a>, <a class="el" href="_n_e_derivative_kernel_8cpp_source.xhtml#l00054">NEDerivativeKernel::configure()</a>, <a class="el" href="_n_e_color_convert_kernel_8cpp_source.xhtml#l00045">NEColorConvertKernel::configure()</a>, <a class="el" href="_n_e_fast_corners_kernel_8cpp_source.xhtml#l00361">NEFastCornersKernel::configure()</a>, <a class="el" href="_n_e_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00632">NEHOGOrientationBinningKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00057">CLConvolutionKernel< matrix_size >::configure()</a>, <a class="el" href="_n_e_remap_kernel_8cpp_source.xhtml#l00076">NERemapKernel::configure()</a>, <a class="el" href="_g_c_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00050">GCDepthConcatenateLayerKernel::configure()</a>, <a class="el" href="_g_c_direct_convolution_layer_kernel_8cpp_source.xhtml#l00053">GCDirectConvolutionLayerKernel< kernel_size >::configure()</a>, <a class="el" href="_c_l_integral_image_kernel_8cpp_source.xhtml#l00071">CLIntegralImageVertKernel::configure()</a>, <a class="el" href="_n_e_threshold_kernel_8cpp_source.xhtml#l00045">NEThresholdKernel::configure()</a>, <a class="el" href="_n_e_absolute_difference_kernel_8cpp_source.xhtml#l00133">NEAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_n_e_non_linear_filter_kernel_8cpp_source.xhtml#l00353">NENonLinearFilterKernel::configure()</a>, <a class="el" href="_n_e_sobel7x7_kernel_8cpp_source.xhtml#l00153">NESobel7x7HorKernel::configure()</a>, <a class="el" href="_n_e_fill_array_kernel_8cpp_source.xhtml#l00039">NEFillArrayKernel::configure()</a>, <a class="el" href="_n_e_channel_extract_kernel_8cpp_source.xhtml#l00052">NEChannelExtractKernel::configure()</a>, <a class="el" href="_n_e_non_maxima_suppression3x3_kernel_8cpp_source.xhtml#l00462">NENonMaximaSuppression3x3Kernel::configure()</a>, <a class="el" href="_n_e_magnitude_phase_kernel_8cpp_source.xhtml#l00250">NEMagnitudePhaseKernel< mag_type, phase_type >::configure()</a>, <a class="el" href="_n_e_sobel5x5_kernel_8cpp_source.xhtml#l00050">NESobel5x5HorKernel::configure()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00107">GCLogits1DShiftExpSumKernel::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l00877">NEGradientKernel::configure()</a>, <a class="el" href="_n_e_mean_std_dev_kernel_8cpp_source.xhtml#l00097">NEMeanStdDevKernel::configure()</a>, <a class="el" href="_c_p_p_corner_candidates_kernel_8cpp_source.xhtml#l00074">CPPCornerCandidatesKernel::configure()</a>, <a class="el" href="_n_e_channel_combine_kernel_8cpp_source.xhtml#l00052">NEChannelCombineKernel::configure()</a>, <a class="el" href="_n_e_h_o_g_detector_kernel_8cpp_source.xhtml#l00042">NEHOGDetectorKernel::configure()</a>, <a class="el" href="_c_l_harris_corners_kernel_8cpp_source.xhtml#l00054">CLHarrisScoreKernel::configure()</a>, <a class="el" href="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00050">CLFastCornersKernel::configure()</a>, <a class="el" href="_n_e_r_o_i_pooling_layer_kernel_8cpp_source.xhtml#l00046">NEROIPoolingLayerKernel::configure()</a>, <a class="el" href="_c_l_h_o_g_detector_kernel_8cpp_source.xhtml#l00044">CLHOGDetectorKernel::configure()</a>, <a class="el" href="_g_c_g_e_m_m_interleave4x4_kernel_8cpp_source.xhtml#l00044">GCGEMMInterleave4x4Kernel::configure()</a>, <a class="el" href="_c_l_scharr3x3_kernel_8cpp_source.xhtml#l00050">CLScharr3x3Kernel::configure()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l00324">NEConvolutionKernel< matrix_size >::configure()</a>, <a class="el" href="_n_e_sobel3x3_kernel_8cpp_source.xhtml#l00048">NESobel3x3Kernel::configure()</a>, <a class="el" href="_n_e_scharr3x3_kernel_8cpp_source.xhtml#l00090">NEScharr3x3Kernel::configure()</a>, <a class="el" href="_n_e_gaussian5x5_kernel_8cpp_source.xhtml#l00118">NEGaussian5x5VertKernel::configure()</a>, <a class="el" href="_g_c_col2_im_kernel_8cpp_source.xhtml#l00044">GCCol2ImKernel::configure()</a>, <a class="el" href="_g_c_im2_col_kernel_8cpp_source.xhtml#l00067">GCIm2ColKernel::configure()</a>, <a class="el" href="_c_l_histogram_kernel_8cpp_source.xhtml#l00149">CLHistogramBorderKernel::configure()</a>, <a class="el" href="_c_l_gaussian_pyramid_kernel_8cpp_source.xhtml#l00136">CLGaussianPyramidVertKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00111">CLEdgeNonMaxSuppressionKernel::configure()</a>, <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00169">CLMinMaxLocationKernel::configure()</a>, <a class="el" href="_n_e_harris_corners_kernel_8cpp_source.xhtml#l00736">NEHarrisScoreKernel< block_size >::configure()</a>, <a class="el" href="_c_l_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00125">CLHOGBlockNormalizationKernel::configure()</a>, <a class="el" href="_n_e_gaussian_pyramid_kernel_8cpp_source.xhtml#l00161">NEGaussianPyramidVertKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00127">CLSeparableConvolutionHorKernel< matrix_size >::configure()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00201">GCLogits1DNormKernel::configure()</a>, <a class="el" href="_c_l_sobel7x7_kernel_8cpp_source.xhtml#l00147">CLSobel7x7VertKernel::configure()</a>, <a class="el" href="_c_l_sobel5x5_kernel_8cpp_source.xhtml#l00144">CLSobel5x5VertKernel::configure()</a>, <a class="el" href="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00115">CLCopyToArrayKernel::configure()</a>, <a class="el" href="_n_e_sobel5x5_kernel_8cpp_source.xhtml#l00217">NESobel5x5VertKernel::configure()</a>, <a class="el" href="_n_e_sobel7x7_kernel_8cpp_source.xhtml#l00307">NESobel7x7VertKernel::configure()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l00666">NESeparableConvolutionHorKernel< matrix_size >::configure()</a>, <a class="el" href="_n_e_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00714">NEHOGBlockNormalizationKernel::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l00970">NEEdgeNonMaxSuppressionKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00180">CLSeparableConvolutionVertKernel< matrix_size >::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00173">CLEdgeTraceKernel::configure()</a>, <a class="el" href="_c_l_l_k_tracker_kernel_8cpp_source.xhtml#l00123">CLLKTrackerStage0Kernel::configure()</a>, <a class="el" href="_n_e_min_max_location_kernel_8cpp_source.xhtml#l00335">NEMinMaxLocationKernel::configure()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l01103">NESeparableConvolutionVertKernel< matrix_size >::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00246">CLConvolutionRectangleKernel::configure()</a>, <a class="el" href="_c_l_l_k_tracker_kernel_8cpp_source.xhtml#l00213">CLLKTrackerStage1Kernel::configure()</a>, <a class="el" href="_n_e_canny_edge_kernel_8cpp_source.xhtml#l01059">NEEdgeTraceKernel::configure()</a>, and <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l01427">NEConvolutionRectangleKernel::configure()</a>.</p>
+
</div>
</div>
<a id="abe949a509da417044624d62a73057441"></a>
@@ -21724,8 +23102,6 @@
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00232">232</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00486">NELogits1DMaxKernel::run()</a>.</p>
<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div></div><!-- fragment -->
</div>
</div>
@@ -21794,11 +23170,7 @@
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00324">324</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00281">ValidRegion::anchor</a>, <a class="el" href="_error_8h_source.xhtml#l00167">ARM_COMPUTE_CREATE_ERROR</a>, <a class="el" href="_c_p_p_2_validate_8h_source.xhtml#l00071">ARM_COMPUTE_RETURN_ERROR_ON_CPU_F16_UNSUPPORTED</a>, <a class="el" href="_validate_8h_source.xhtml#l00791">ARM_COMPUTE_RETURN_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN</a>, <a class="el" href="_validate_8h_source.xhtml#l00545">ARM_COMPUTE_RETURN_ERROR_ON_MISMATCHING_DATA_TYPES</a>, <a class="el" href="_validate_8h_source.xhtml#l00288">ARM_COMPUTE_RETURN_ERROR_ON_MISMATCHING_DIMENSIONS</a>, <a class="el" href="_validate_8h_source.xhtml#l00610">ARM_COMPUTE_RETURN_ERROR_ON_MISMATCHING_QUANTIZATION_INFO</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00201">auto_init_if_empty()</a>, <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml#l00028">calculate_max_window()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00065">ceil_to_multiple()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00108">data_size_from_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</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="_c_l_2_winograd_8cpp_source.xhtml#l00265">arm_compute::test::validation::in</a>, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00266">arm_compute::test::validation::out</a>, <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">arm_compute::test::validation::output_shape</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a3f3e1a3200223e6a304a533b1016e749">ITensorInfo::quantization_info()</a>, <a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa62be47fdd89da032cf78dfce82239579">RUNTIME_ERROR</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a9586081a29fceb532ab270bd843abee6">ITensorInfo::set_valid_region()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00282">ValidRegion::shape</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">ITensorInfo::tensor_shape()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a18064e0011c3869d884653e9e7c47b66">ITensorInfo::total_size()</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00368">update_window_and_padding()</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a74dfd07380a290c34fe7c8e065029b95">ITensorInfo::valid_region()</a>, <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00123">vec_size_of()</a>, <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00218">vget_high()</a>, <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00218">vget_low()</a>, <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00218">vmax()</a>, <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00218">vpmax()</a>, and <a class="el" href="_dimensions_8h_source.xhtml#l00081">Dimensions< T >::x()</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>  float32x4x4_t res = { {</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  vaddq_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="l00328"></a><span class="lineno"> 328</span>  vaddq_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="l00329"></a><span class="lineno"> 329</span>  vaddq_f32(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>.val[2], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>.val[2]),</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  vaddq_f32(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>.val[3], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>.val[3])</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>  };</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  <span class="keywordflow">return</span> res;</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</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">gemm configure & a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00102">GEMM.cpp:102</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">CLTensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00091">GEMM.cpp:91</a></div></div>
-</div><!-- fragment -->
+<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>  float32x4x4_t res = { {</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  vaddq_f32(a.val[0], b.val[0]),</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  vaddq_f32(a.val[1], b.val[1]),</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  vaddq_f32(a.val[2], b.val[2]),</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  vaddq_f32(a.val[3], b.val[3])</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>  };</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  <span class="keywordflow">return</span> res;</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a6cb464349a8f184ffb8eded9ae9e5925"></a>
@@ -21820,7 +23192,7 @@
</div>
</div>
<a id="a146b84422a0eaf6c66ba8156425b5bdf"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a146b84422a0eaf6c66ba8156425b5bdf">◆ </a></span>vcvt< float32x4x4_t >()</h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a146b84422a0eaf6c66ba8156425b5bdf">◆ </a></span>vcvt< float32x4x4_t >()</h2>
<div class="memitem">
<div class="memproto">
@@ -21836,17 +23208,15 @@
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00238">238</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00218">vget_high()</a>, and <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00218">vget_low()</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00486">NELogits1DMaxKernel::run()</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="keyword">const</span> <span class="keyword">auto</span> low = vmovl_u8(<a class="code" href="namespacearm__compute.xhtml#ae83ce5db69a7a14f5c0ee9d9326e1a40">vget_low</a>(vec));</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <span class="keyword">const</span> <span class="keyword">auto</span> high = vmovl_u8(<a class="code" href="namespacearm__compute.xhtml#abc735b1b07e30e093dd39507606a1e35">vget_high</a>(vec));</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  float32x4x4_t res = { {</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  vcvtq_f32_u32(vmovl_u16(<a class="code" href="namespacearm__compute.xhtml#ae83ce5db69a7a14f5c0ee9d9326e1a40">vget_low</a>(low))),</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  vcvtq_f32_u32(vmovl_u16(<a class="code" href="namespacearm__compute.xhtml#abc735b1b07e30e093dd39507606a1e35">vget_high</a>(low))),</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  vcvtq_f32_u32(vmovl_u16(<a class="code" href="namespacearm__compute.xhtml#ae83ce5db69a7a14f5c0ee9d9326e1a40">vget_low</a>(high))),</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  vcvtq_f32_u32(vmovl_u16(<a class="code" href="namespacearm__compute.xhtml#abc735b1b07e30e093dd39507606a1e35">vget_high</a>(high)))</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>  };</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <span class="keywordflow">return</span> res;</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_abc735b1b07e30e093dd39507606a1e35"><div class="ttname"><a href="namespacearm__compute.xhtml#abc735b1b07e30e093dd39507606a1e35">arm_compute::vget_high</a></div><div class="ttdeci">vec_8_byte_t< float > vget_high(vec_16_byte_t< float > vec)</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00227">NESoftmaxLayerKernel.cpp:227</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ae83ce5db69a7a14f5c0ee9d9326e1a40"><div class="ttname"><a href="namespacearm__compute.xhtml#ae83ce5db69a7a14f5c0ee9d9326e1a40">arm_compute::vget_low</a></div><div class="ttdeci">vec_8_byte_t< float > vget_low(vec_16_byte_t< float > vec)</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00227">NESoftmaxLayerKernel.cpp:227</a></div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00218">vget_high()</a>, and <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00218">vget_low()</a>.</p>
+
</div>
</div>
<a id="ab6bc00d6c4503a0bc303dd363e021476"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab6bc00d6c4503a0bc303dd363e021476">◆ </a></span>vcvt< uint8x16_t >()</h2>
+<h2 class="memtitle"><span class="permalink"><a href="#ab6bc00d6c4503a0bc303dd363e021476">◆ </a></span>vcvt< uint8x16_t >()</h2>
<div class="memitem">
<div class="memproto">
@@ -21865,6 +23235,60 @@
<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>  uint16x8x2_t resU16 = { {</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  vcombine_u16(vqmovn_u32(vcvtq_u32_f32(vec.val[0])),</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  vqmovn_u32(vcvtq_u32_f32(vec.val[1]))),</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  vcombine_u16(vqmovn_u32(vcvtq_u32_f32(vec.val[2])),</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  vqmovn_u32(vcvtq_u32_f32(vec.val[3])))</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>  };</div><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>  uint8x16_t res = vcombine_u8(vqmovn_u16(resU16.val[0]), vqmovn_u16(resU16.val[1]));</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <span class="keywordflow">return</span> res;</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span> }</div></div><!-- fragment -->
</div>
</div>
+<a id="a04ae4ae815c47d443852428a0528a7d2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a04ae4ae815c47d443852428a0528a7d2">◆ </a></span>vdequantize()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">float32x4x4_t arm_compute::vdequantize </td>
+ <td>(</td>
+ <td class="paramtype">const uint8x16_t & </td>
+ <td class="paramname"><em>qv</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>qi</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>Dequantize a neon vector holding 16 quantized values. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">qv</td><td>Input values to be dequantized. </td></tr>
+ <tr><td class="paramname">qi</td><td>Quantization information to be used in the computation.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Dequantized values in a neon vector </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="_n_e_asymm_8h_source.xhtml#l00135">135</a> of file <a class="el" href="_n_e_asymm_8h_source.xhtml">NEAsymm.h</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="keyword">const</span> <span class="keywordtype">float</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acec6d8ad52a28972fa74e071c1a63b6a">scale</a> = qi.scale;</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a> = qi.offset;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keyword">const</span> int32x4_t voffset = vdupq_n_s32(<a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a>);</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keyword">const</span> float32x4_t vscale = vdupq_n_f32(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acec6d8ad52a28972fa74e071c1a63b6a">scale</a>);</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keyword">const</span> float32x4x4_t vdequantized_input =</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>  {</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  vmulq_f32(vcvtq_f32_s32(vsubq_s32(vreinterpretq_s32_u32(vmovl_u16(vget_low_u16(vmovl_u8(vget_low_u8(qv))))), voffset)), vscale),</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  vmulq_f32(vcvtq_f32_s32(vsubq_s32(vreinterpretq_s32_u32(vmovl_u16(vget_high_u16(vmovl_u8(vget_low_u8(qv))))), voffset)), vscale),</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  vmulq_f32(vcvtq_f32_s32(vsubq_s32(vreinterpretq_s32_u32(vmovl_u16(vget_low_u16(vmovl_u8(vget_high_u8(qv))))), voffset)), vscale),</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  vmulq_f32(vcvtq_f32_s32(vsubq_s32(vreinterpretq_s32_u32(vmovl_u16(vget_high_u16(vmovl_u8(vget_high_u8(qv))))), voffset)), vscale),</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>  };</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="keywordflow">return</span> vdequantized_input;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span> }</div><div class="ttc" id="src_2core_2_c_l_2cl__kernels_2_helpers_8h_xhtml_a009469e4d9b8fce3b6d5e97d2077827d"><div class="ttname"><a href="src_2core_2_c_l_2cl__kernels_2_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="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00312">helpers.h:312</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#l00168">PixelWiseMultiplication.cpp:168</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00190">QuantizationInfo::offset</a>, <a class="el" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00312">offset()</a>, <a class="el" href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00168">arm_compute::test::validation::scale</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00189">QuantizationInfo::scale</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_n_e_width_concatenate_layer_kernel_8cpp_source.xhtml#l00105">NEWidthConcatenateLayerKernel::run()</a>.</p>
+
+</div>
+</div>
<a id="a2603e5f72e3fa052025c189c1a6647ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2603e5f72e3fa052025c189c1a6647ce">◆ </a></span>vdup_n()</h2>
@@ -21881,12 +23305,10 @@
</table>
</div><div class="memdoc">
-<p class="reference">Referenced by <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00123">vec_size_of()</a>.</p>
-
</div>
</div>
<a id="aeabe5dd1c5751f380322a841d7ad8d7a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aeabe5dd1c5751f380322a841d7ad8d7a">◆ </a></span>vdup_n< float32x4x4_t >()</h2>
+<h2 class="memtitle"><span class="permalink"><a href="#aeabe5dd1c5751f380322a841d7ad8d7a">◆ </a></span>vdup_n< float32x4x4_t >()</h2>
<div class="memitem">
<div class="memproto">
@@ -21902,13 +23324,11 @@
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00300">300</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00486">NELogits1DMaxKernel::run()</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>  float32x4x4_t res = { {</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  vdupq_n_f32(val),</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  vdupq_n_f32(val),</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  vdupq_n_f32(val),</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  vdupq_n_f32(val)</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>  };</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <span class="keywordflow">return</span> res;</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="ace69f5de3783f9cd924dac392710facf"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ace69f5de3783f9cd924dac392710facf">◆ </a></span>vdup_n< vec_16_byte_t< float > >()</h2>
+<h2 class="memtitle"><span class="permalink"><a href="#ace69f5de3783f9cd924dac392710facf">◆ </a></span>vdup_n< vec_16_byte_t< float > >()</h2>
<div class="memitem">
<div class="memproto">
@@ -21936,7 +23356,7 @@
</div>
</div>
<a id="aa6ec87dc4f97241833eace4b1784cc50"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa6ec87dc4f97241833eace4b1784cc50">◆ </a></span>vdup_n< vec_16_byte_t< int16_t > >()</h2>
+<h2 class="memtitle"><span class="permalink"><a href="#aa6ec87dc4f97241833eace4b1784cc50">◆ </a></span>vdup_n< vec_16_byte_t< int16_t > >()</h2>
<div class="memitem">
<div class="memproto">
@@ -21964,7 +23384,7 @@
</div>
</div>
<a id="a434a14d651e75e624bfed91646a9582e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a434a14d651e75e624bfed91646a9582e">◆ </a></span>vdup_n< vec_16_byte_t< int32_t > >()</h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a434a14d651e75e624bfed91646a9582e">◆ </a></span>vdup_n< vec_16_byte_t< int32_t > >()</h2>
<div class="memitem">
<div class="memproto">
@@ -21992,7 +23412,7 @@
</div>
</div>
<a id="a3c5a58b994f82b7eb24e85803fdd08c1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3c5a58b994f82b7eb24e85803fdd08c1">◆ </a></span>vdup_n< vec_16_byte_t< int8_t > >()</h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a3c5a58b994f82b7eb24e85803fdd08c1">◆ </a></span>vdup_n< vec_16_byte_t< int8_t > >()</h2>
<div class="memitem">
<div class="memproto">
@@ -22020,7 +23440,7 @@
</div>
</div>
<a id="a93020987fbede1b8da7db6a1a855ddd4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a93020987fbede1b8da7db6a1a855ddd4">◆ </a></span>vdup_n< vec_16_byte_t< uint16_t > >()</h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a93020987fbede1b8da7db6a1a855ddd4">◆ </a></span>vdup_n< vec_16_byte_t< uint16_t > >()</h2>
<div class="memitem">
<div class="memproto">
@@ -22048,7 +23468,7 @@
</div>
</div>
<a id="aacce75282b76aeb1eda5375b6dcef231"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aacce75282b76aeb1eda5375b6dcef231">◆ </a></span>vdup_n< vec_16_byte_t< uint32_t > >()</h2>
+<h2 class="memtitle"><span class="permalink"><a href="#aacce75282b76aeb1eda5375b6dcef231">◆ </a></span>vdup_n< vec_16_byte_t< uint32_t > >()</h2>
<div class="memitem">
<div class="memproto">
@@ -22076,7 +23496,7 @@
</div>
</div>
<a id="a84aacbb969d72f3b89aa93cc87af9bdf"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a84aacbb969d72f3b89aa93cc87af9bdf">◆ </a></span>vdup_n< vec_16_byte_t< uint8_t > >()</h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a84aacbb969d72f3b89aa93cc87af9bdf">◆ </a></span>vdup_n< vec_16_byte_t< uint8_t > >()</h2>
<div class="memitem">
<div class="memproto">
@@ -22104,7 +23524,7 @@
</div>
</div>
<a id="ae23d199254b002d668fde87246f2f6f7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae23d199254b002d668fde87246f2f6f7">◆ </a></span>vdup_n< vec_8_byte_t< float > >()</h2>
+<h2 class="memtitle"><span class="permalink"><a href="#ae23d199254b002d668fde87246f2f6f7">◆ </a></span>vdup_n< vec_8_byte_t< float > >()</h2>
<div class="memitem">
<div class="memproto">
@@ -22132,7 +23552,7 @@
</div>
</div>
<a id="a10a9088cc35ece085610063eec583ad1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a10a9088cc35ece085610063eec583ad1">◆ </a></span>vdup_n< vec_8_byte_t< int16_t > >()</h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a10a9088cc35ece085610063eec583ad1">◆ </a></span>vdup_n< vec_8_byte_t< int16_t > >()</h2>
<div class="memitem">
<div class="memproto">
@@ -22160,7 +23580,7 @@
</div>
</div>
<a id="aee16a2b366642146ef353e0939a71b83"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aee16a2b366642146ef353e0939a71b83">◆ </a></span>vdup_n< vec_8_byte_t< int32_t > >()</h2>
+<h2 class="memtitle"><span class="permalink"><a href="#aee16a2b366642146ef353e0939a71b83">◆ </a></span>vdup_n< vec_8_byte_t< int32_t > >()</h2>
<div class="memitem">
<div class="memproto">
@@ -22188,7 +23608,7 @@
</div>
</div>
<a id="afbcedeccc32a67996ea90a0a97c94269"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afbcedeccc32a67996ea90a0a97c94269">◆ </a></span>vdup_n< vec_8_byte_t< int8_t > >()</h2>
+<h2 class="memtitle"><span class="permalink"><a href="#afbcedeccc32a67996ea90a0a97c94269">◆ </a></span>vdup_n< vec_8_byte_t< int8_t > >()</h2>
<div class="memitem">
<div class="memproto">
@@ -22216,7 +23636,7 @@
</div>
</div>
<a id="aca706ca8cd2fec97cf6b3ab747c40dc6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aca706ca8cd2fec97cf6b3ab747c40dc6">◆ </a></span>vdup_n< vec_8_byte_t< uint16_t > >()</h2>
+<h2 class="memtitle"><span class="permalink"><a href="#aca706ca8cd2fec97cf6b3ab747c40dc6">◆ </a></span>vdup_n< vec_8_byte_t< uint16_t > >()</h2>
<div class="memitem">
<div class="memproto">
@@ -22244,7 +23664,7 @@
</div>
</div>
<a id="af8c50d8dac4fe454183078d34515b50a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af8c50d8dac4fe454183078d34515b50a">◆ </a></span>vdup_n< vec_8_byte_t< uint32_t > >()</h2>
+<h2 class="memtitle"><span class="permalink"><a href="#af8c50d8dac4fe454183078d34515b50a">◆ </a></span>vdup_n< vec_8_byte_t< uint32_t > >()</h2>
<div class="memitem">
<div class="memproto">
@@ -22272,7 +23692,7 @@
</div>
</div>
<a id="a194e168c19bf049bd3e903552f112d5c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a194e168c19bf049bd3e903552f112d5c">◆ </a></span>vdup_n< vec_8_byte_t< uint8_t > >()</h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a194e168c19bf049bd3e903552f112d5c">◆ </a></span>vdup_n< vec_8_byte_t< uint8_t > >()</h2>
<div class="memitem">
<div class="memproto">
@@ -22316,10 +23736,6 @@
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00123">123</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a>, <a class="el" href="namespacearm__compute.xhtml#a2603e5f72e3fa052025c189c1a6647ce">vdup_n()</a>, and <a class="el" href="namespacearm__compute.xhtml#a85d0b4103385d996d4014691d2df0cf1">vld()</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00486">NELogits1DMaxKernel::run()</a>, and <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00324">vadd()</a>.</p>
<div class="fragment"><div class="line"><a name="l00124"></a><span class="lineno"> 124</span> {</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordflow">return</span> <span class="keyword">sizeof</span>(vec) / <span class="keyword">sizeof</span>(elem_type_t<V>);</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span> }</div></div><!-- fragment -->
</div>
</div>
@@ -22340,12 +23756,10 @@
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00267">267</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
-
+<div class="fragment"><div class="line"><a name="l00268"></a><span class="lineno"> 268</span> {</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  float32x4x4_t res = { {</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <a class="code" href="namespacearm__compute.xhtml#ab55486f1153a4c5f507d4923b59fc6a0">vexpq_f32</a>(vec.val[0]),</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <a class="code" href="namespacearm__compute.xhtml#ab55486f1153a4c5f507d4923b59fc6a0">vexpq_f32</a>(vec.val[1]),</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <a class="code" href="namespacearm__compute.xhtml#ab55486f1153a4c5f507d4923b59fc6a0">vexpq_f32</a>(vec.val[2]),</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <a class="code" href="namespacearm__compute.xhtml#ab55486f1153a4c5f507d4923b59fc6a0">vexpq_f32</a>(vec.val[3])</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> res;</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_ab55486f1153a4c5f507d4923b59fc6a0"><div class="ttname"><a href="namespacearm__compute.xhtml#ab55486f1153a4c5f507d4923b59fc6a0">arm_compute::vexpq_f32</a></div><div class="ttdeci">float32x4_t vexpq_f32(float32x4_t x)</div><div class="ttdoc">Calculate exponential.</div></div>
+</div><!-- fragment -->
<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#ab55486f1153a4c5f507d4923b59fc6a0">vexpq_f32()</a>.</p>
-<p class="reference">Referenced by <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00486">NELogits1DMaxKernel::run()</a>, and <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00279">vexp()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00268"></a><span class="lineno"> 268</span> {</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  float32x4x4_t res = { {</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <a class="code" href="namespacearm__compute.xhtml#ab55486f1153a4c5f507d4923b59fc6a0">vexpq_f32</a>(vec.val[0]),</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <a class="code" href="namespacearm__compute.xhtml#ab55486f1153a4c5f507d4923b59fc6a0">vexpq_f32</a>(vec.val[1]),</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <a class="code" href="namespacearm__compute.xhtml#ab55486f1153a4c5f507d4923b59fc6a0">vexpq_f32</a>(vec.val[2]),</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <a class="code" href="namespacearm__compute.xhtml#ab55486f1153a4c5f507d4923b59fc6a0">vexpq_f32</a>(vec.val[3])</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> res;</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_ab55486f1153a4c5f507d4923b59fc6a0"><div class="ttname"><a href="namespacearm__compute.xhtml#ab55486f1153a4c5f507d4923b59fc6a0">arm_compute::vexpq_f32</a></div><div class="ttdeci">float32x4_t vexpq_f32(float32x4_t x)</div><div class="ttdoc">Calculate exponential. </div></div>
-</div><!-- fragment -->
</div>
</div>
<a id="adcb77ffd576a7addf3be8508e50451d2"></a>
@@ -22365,10 +23779,10 @@
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00279">279</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00267">vexp()</a>, and <a class="el" href="namespacearm__compute.xhtml#ab55486f1153a4c5f507d4923b59fc6a0">vexpq_f32()</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> <a class="code" href="namespacearm__compute.xhtml#ab55486f1153a4c5f507d4923b59fc6a0">vexpq_f32</a>(vec);</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_ab55486f1153a4c5f507d4923b59fc6a0"><div class="ttname"><a href="namespacearm__compute.xhtml#ab55486f1153a4c5f507d4923b59fc6a0">arm_compute::vexpq_f32</a></div><div class="ttdeci">float32x4_t vexpq_f32(float32x4_t x)</div><div class="ttdoc">Calculate exponential. </div></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> <a class="code" href="namespacearm__compute.xhtml#ab55486f1153a4c5f507d4923b59fc6a0">vexpq_f32</a>(vec);</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_ab55486f1153a4c5f507d4923b59fc6a0"><div class="ttname"><a href="namespacearm__compute.xhtml#ab55486f1153a4c5f507d4923b59fc6a0">arm_compute::vexpq_f32</a></div><div class="ttdeci">float32x4_t vexpq_f32(float32x4_t x)</div><div class="ttdoc">Calculate exponential.</div></div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#ab55486f1153a4c5f507d4923b59fc6a0">vexpq_f32()</a>.</p>
+
</div>
</div>
<a id="ab55486f1153a4c5f507d4923b59fc6a0"></a>
@@ -22454,9 +23868,9 @@
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00218">218</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00486">NELogits1DMaxKernel::run()</a>, <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00324">vadd()</a>, and <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00238">vcvt< float32x4x4_t >()</a>.</p>
<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div></div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00238">vcvt< float32x4x4_t >()</a>.</p>
+
</div>
</div>
<a id="abfb64320f5b05fc08dffafc2b039e559"></a>
@@ -22851,36 +24265,8 @@
<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div></div><!-- fragment -->
</div>
</div>
-<a id="a1050dd97652f516c036f54173d3cce10"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1050dd97652f516c036f54173d3cce10">◆ </a></span>vget_lane() <span class="overload">[9/15]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">uint32_t vget_lane </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>< uint32_t > </td>
- <td class="paramname"><em>vec</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 class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00222">222</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div></div><!-- fragment -->
-</div>
-</div>
<a id="a6e766d98a0e130be624d6dee74c8fb29"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6e766d98a0e130be624d6dee74c8fb29">◆ </a></span>vget_lane() <span class="overload">[10/15]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a6e766d98a0e130be624d6dee74c8fb29">◆ </a></span>vget_lane() <span class="overload">[9/15]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -22907,8 +24293,36 @@
<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div></div><!-- fragment -->
</div>
</div>
-<a id="a61f87c089f50e7016ac74d79bbc417eb"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a61f87c089f50e7016ac74d79bbc417eb">◆ </a></span>vget_lane() <span class="overload">[11/15]</span></h2>
+<a id="a1050dd97652f516c036f54173d3cce10"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1050dd97652f516c036f54173d3cce10">◆ </a></span>vget_lane() <span class="overload">[10/15]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint32_t vget_lane </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>< uint32_t > </td>
+ <td class="paramname"><em>vec</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 class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00222">222</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div></div><!-- fragment -->
+</div>
+</div>
+<a id="adc187f0eff944013383bdc28e8d1e713"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adc187f0eff944013383bdc28e8d1e713">◆ </a></span>vget_lane() <span class="overload">[11/15]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -22919,7 +24333,7 @@
<tr>
<td class="memname">int32_t vget_lane </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>< int32_t > </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>< int32_t > </td>
<td class="paramname"><em>vec</em></td><td>)</td>
<td></td>
</tr>
@@ -22935,8 +24349,8 @@
<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div></div><!-- fragment -->
</div>
</div>
-<a id="adc187f0eff944013383bdc28e8d1e713"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#adc187f0eff944013383bdc28e8d1e713">◆ </a></span>vget_lane() <span class="overload">[12/15]</span></h2>
+<a id="a61f87c089f50e7016ac74d79bbc417eb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a61f87c089f50e7016ac74d79bbc417eb">◆ </a></span>vget_lane() <span class="overload">[12/15]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -22947,7 +24361,7 @@
<tr>
<td class="memname">int32_t vget_lane </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>< int32_t > </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>< int32_t > </td>
<td class="paramname"><em>vec</em></td><td>)</td>
<td></td>
</tr>
@@ -23062,9 +24476,9 @@
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00218">218</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00486">NELogits1DMaxKernel::run()</a>, <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00324">vadd()</a>, and <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00238">vcvt< float32x4x4_t >()</a>.</p>
<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div></div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00238">vcvt< float32x4x4_t >()</a>.</p>
+
</div>
</div>
<a id="a2a0a49e26931849079897f0a225589cb"></a>
@@ -23287,7 +24701,7 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The calculated reciprocal. </dd></dl>
-<p class="reference">Referenced by <a class="el" href="_n_e_normalization_layer_kernel_8cpp_source.xhtml#l00115">NENormalizationLayerKernel::configure()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="_n_e_depth_convert_layer_kernel_8cpp_source.xhtml#l00128">NEDepthConvertLayerKernel::run()</a>.</p>
</div>
</div>
@@ -23343,8 +24757,6 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The calculated inverse square root. </dd></dl>
-<p class="reference">Referenced by <a class="el" href="_n_e_pooling_layer_kernel_8cpp_source.xhtml#l00335">NEPoolingLayerKernel::configure()</a>.</p>
-
</div>
</div>
<a id="a85d0b4103385d996d4014691d2df0cf1"></a>
@@ -23363,12 +24775,10 @@
</table>
</div><div class="memdoc">
-<p class="reference">Referenced by <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00123">vec_size_of()</a>.</p>
-
</div>
</div>
<a id="aa8e2f6d1e361e3ac707595f1092b9103"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa8e2f6d1e361e3ac707595f1092b9103">◆ </a></span>vld< vec_16_byte_t< float > >()</h2>
+<h2 class="memtitle"><span class="permalink"><a href="#aa8e2f6d1e361e3ac707595f1092b9103">◆ </a></span>vld< vec_16_byte_t< float > >()</h2>
<div class="memitem">
<div class="memproto">
@@ -23396,7 +24806,7 @@
</div>
</div>
<a id="afd4981f6532c3a76716e3053d119e269"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afd4981f6532c3a76716e3053d119e269">◆ </a></span>vld< vec_16_byte_t< int16_t > >()</h2>
+<h2 class="memtitle"><span class="permalink"><a href="#afd4981f6532c3a76716e3053d119e269">◆ </a></span>vld< vec_16_byte_t< int16_t > >()</h2>
<div class="memitem">
<div class="memproto">
@@ -23424,7 +24834,7 @@
</div>
</div>
<a id="a1acc117060f7ad740f059fbb97359d6b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1acc117060f7ad740f059fbb97359d6b">◆ </a></span>vld< vec_16_byte_t< int32_t > >()</h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a1acc117060f7ad740f059fbb97359d6b">◆ </a></span>vld< vec_16_byte_t< int32_t > >()</h2>
<div class="memitem">
<div class="memproto">
@@ -23452,7 +24862,7 @@
</div>
</div>
<a id="a9d896907abfbde0613b952bb4db5897a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9d896907abfbde0613b952bb4db5897a">◆ </a></span>vld< vec_16_byte_t< int8_t > >()</h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a9d896907abfbde0613b952bb4db5897a">◆ </a></span>vld< vec_16_byte_t< int8_t > >()</h2>
<div class="memitem">
<div class="memproto">
@@ -23480,7 +24890,7 @@
</div>
</div>
<a id="ad2174760efe31f80528b5a4cf8ebed66"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad2174760efe31f80528b5a4cf8ebed66">◆ </a></span>vld< vec_16_byte_t< uint16_t > >()</h2>
+<h2 class="memtitle"><span class="permalink"><a href="#ad2174760efe31f80528b5a4cf8ebed66">◆ </a></span>vld< vec_16_byte_t< uint16_t > >()</h2>
<div class="memitem">
<div class="memproto">
@@ -23508,7 +24918,7 @@
</div>
</div>
<a id="a13a69ef04626a27771a6e19542cac767"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a13a69ef04626a27771a6e19542cac767">◆ </a></span>vld< vec_16_byte_t< uint32_t > >()</h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a13a69ef04626a27771a6e19542cac767">◆ </a></span>vld< vec_16_byte_t< uint32_t > >()</h2>
<div class="memitem">
<div class="memproto">
@@ -23536,7 +24946,7 @@
</div>
</div>
<a id="a70cff70817eb6a40e893331c4df276a5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a70cff70817eb6a40e893331c4df276a5">◆ </a></span>vld< vec_16_byte_t< uint8_t > >()</h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a70cff70817eb6a40e893331c4df276a5">◆ </a></span>vld< vec_16_byte_t< uint8_t > >()</h2>
<div class="memitem">
<div class="memproto">
@@ -23564,7 +24974,7 @@
</div>
</div>
<a id="a323be126777e57614c5dc57ee1345c7e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a323be126777e57614c5dc57ee1345c7e">◆ </a></span>vld< vec_8_byte_t< float > >()</h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a323be126777e57614c5dc57ee1345c7e">◆ </a></span>vld< vec_8_byte_t< float > >()</h2>
<div class="memitem">
<div class="memproto">
@@ -23592,7 +25002,7 @@
</div>
</div>
<a id="a1b29ca880e2b7282c9318d6c36f07140"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1b29ca880e2b7282c9318d6c36f07140">◆ </a></span>vld< vec_8_byte_t< int16_t > >()</h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a1b29ca880e2b7282c9318d6c36f07140">◆ </a></span>vld< vec_8_byte_t< int16_t > >()</h2>
<div class="memitem">
<div class="memproto">
@@ -23620,7 +25030,7 @@
</div>
</div>
<a id="a10449c2936e1986b131e8c070db9c16b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a10449c2936e1986b131e8c070db9c16b">◆ </a></span>vld< vec_8_byte_t< int32_t > >()</h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a10449c2936e1986b131e8c070db9c16b">◆ </a></span>vld< vec_8_byte_t< int32_t > >()</h2>
<div class="memitem">
<div class="memproto">
@@ -23648,7 +25058,7 @@
</div>
</div>
<a id="add42730b56d7b3614fc39f525eb55286"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#add42730b56d7b3614fc39f525eb55286">◆ </a></span>vld< vec_8_byte_t< int8_t > >()</h2>
+<h2 class="memtitle"><span class="permalink"><a href="#add42730b56d7b3614fc39f525eb55286">◆ </a></span>vld< vec_8_byte_t< int8_t > >()</h2>
<div class="memitem">
<div class="memproto">
@@ -23676,7 +25086,7 @@
</div>
</div>
<a id="ab764431d90825796c5060d85810781fa"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab764431d90825796c5060d85810781fa">◆ </a></span>vld< vec_8_byte_t< uint16_t > >()</h2>
+<h2 class="memtitle"><span class="permalink"><a href="#ab764431d90825796c5060d85810781fa">◆ </a></span>vld< vec_8_byte_t< uint16_t > >()</h2>
<div class="memitem">
<div class="memproto">
@@ -23704,7 +25114,7 @@
</div>
</div>
<a id="ac7a8e67b90d2c99626733ea9bdc60a1d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac7a8e67b90d2c99626733ea9bdc60a1d">◆ </a></span>vld< vec_8_byte_t< uint32_t > >()</h2>
+<h2 class="memtitle"><span class="permalink"><a href="#ac7a8e67b90d2c99626733ea9bdc60a1d">◆ </a></span>vld< vec_8_byte_t< uint32_t > >()</h2>
<div class="memitem">
<div class="memproto">
@@ -23732,7 +25142,7 @@
</div>
</div>
<a id="abcfc5b1ed91557ba1b6edf2eae8533e7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#abcfc5b1ed91557ba1b6edf2eae8533e7">◆ </a></span>vld< vec_8_byte_t< uint8_t > >()</h2>
+<h2 class="memtitle"><span class="permalink"><a href="#abcfc5b1ed91557ba1b6edf2eae8533e7">◆ </a></span>vld< vec_8_byte_t< uint8_t > >()</h2>
<div class="memitem">
<div class="memproto">
@@ -23821,8 +25231,6 @@
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00218">218</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00324">vadd()</a>.</p>
<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div></div><!-- fragment -->
</div>
</div>
@@ -24090,8 +25498,6 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The lane-by-lane maximum -> float32x4x2 </dd></dl>
-<p class="reference">Referenced by <a class="el" href="_n_e_pooling_layer_kernel_8cpp_source.xhtml#l00335">NEPoolingLayerKernel::configure()</a>.</p>
-
</div>
</div>
<a id="aba8de9eaa10a7cb45c5aa603585d0e4c"></a>
@@ -24139,8 +25545,8 @@
<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>
+ <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>
@@ -24185,8 +25591,6 @@
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00232">232</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00486">NELogits1DMaxKernel::run()</a>.</p>
<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div></div><!-- fragment -->
</div>
</div>
@@ -24255,8 +25659,6 @@
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00218">218</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00324">vadd()</a>.</p>
<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div></div><!-- fragment -->
</div>
</div>
@@ -24525,12 +25927,10 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The calculated power. </dd></dl>
-<p class="reference">Referenced by <a class="el" href="_n_e_normalization_layer_kernel_8cpp_source.xhtml#l00115">NENormalizationLayerKernel::configure()</a>.</p>
-
</div>
</div>
-<a id="a3753b9d735032ba72e7df0c5cbba31a1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3753b9d735032ba72e7df0c5cbba31a1">◆ </a></span>vst() <span class="overload">[1/14]</span></h2>
+<a id="a6554986624335b7c05f968342630f530"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6554986624335b7c05f968342630f530">◆ </a></span>vquantize()</h2>
<div class="memitem">
<div class="memproto">
@@ -24539,16 +25939,16 @@
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">void arm_compute::vst </td>
+ <td class="memname">uint8x16_t arm_compute::vquantize </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1e36f8a2df3d6bd1756b90e2efb151e9">ptr_t</a>< uint8_t > </td>
- <td class="paramname"><em>ptr</em>, </td>
+ <td class="paramtype">const float32x4x4_t & </td>
+ <td class="paramname"><em>qv</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>< uint8_t > </td>
- <td class="paramname"><em>vec</em> </td>
+ <td class="paramtype">const <a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> & </td>
+ <td class="paramname"><em>qi</em> </td>
</tr>
<tr>
<td></td>
@@ -24563,14 +25963,28 @@
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00218">218</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
+<p>Quantize a neon vector holding 16 floating point values. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">qv</td><td>Input values to be quantized. </td></tr>
+ <tr><td class="paramname">qi</td><td>Quantization information to be used in the computation.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A neon vector holding the quantized values </dd></dl>
-<p class="reference">Referenced by <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00486">NELogits1DMaxKernel::run()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="_n_e_asymm_8h_source.xhtml#l00160">160</a> of file <a class="el" href="_n_e_asymm_8h_source.xhtml">NEAsymm.h</a>.</p>
+<div class="fragment"><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="keyword">const</span> <span class="keywordtype">float</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acec6d8ad52a28972fa74e071c1a63b6a">scale</a> = qi.scale;</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a> = qi.offset;</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keyword">const</span> float32x4_t voffset = vdupq_n_f32(<a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a>);</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keyword">const</span> float32x4_t vinvscale = vdupq_n_f32(1.f / <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acec6d8ad52a28972fa74e071c1a63b6a">scale</a>);</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keyword">const</span> int32x4x4_t rf =</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>  {</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="preprocessor">#ifdef __aarch64__</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  vcvtnq_s32_f32(vmlaq_f32(voffset, qv.val[0], vinvscale)),</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  vcvtnq_s32_f32(vmlaq_f32(voffset, qv.val[1], vinvscale)),</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  vcvtnq_s32_f32(vmlaq_f32(voffset, qv.val[2], vinvscale)),</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  vcvtnq_s32_f32(vmlaq_f32(voffset, qv.val[3], vinvscale)),</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="preprocessor">#else //__aarch64__</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  vcvtq_s32_f32(vmlaq_f32(voffset, qv.val[0], vinvscale)),</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  vcvtq_s32_f32(vmlaq_f32(voffset, qv.val[1], vinvscale)),</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  vcvtq_s32_f32(vmlaq_f32(voffset, qv.val[2], vinvscale)),</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  vcvtq_s32_f32(vmlaq_f32(voffset, qv.val[3], vinvscale)),</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="preprocessor">#endif //__aarch64__</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="keyword">const</span> uint8x8_t pa = vqmovun_s16(vcombine_s16(vqmovn_s32(rf.val[0]), vqmovn_s32(rf.val[1])));</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="keyword">const</span> uint8x8_t pb = vqmovun_s16(vcombine_s16(vqmovn_s32(rf.val[2]), vqmovn_s32(rf.val[3])));</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <span class="keywordflow">return</span> vcombine_u8(pa, pb);</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span> }</div><div class="ttc" id="src_2core_2_c_l_2cl__kernels_2_helpers_8h_xhtml_a009469e4d9b8fce3b6d5e97d2077827d"><div class="ttname"><a href="src_2core_2_c_l_2cl__kernels_2_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="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00312">helpers.h:312</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#l00168">PixelWiseMultiplication.cpp:168</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00190">QuantizationInfo::offset</a>, <a class="el" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00312">offset()</a>, <a class="el" href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00168">arm_compute::test::validation::scale</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00189">QuantizationInfo::scale</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_n_e_width_concatenate_layer_kernel_8cpp_source.xhtml#l00105">NEWidthConcatenateLayerKernel::run()</a>.</p>
+
</div>
</div>
<a id="aa17a7667769390f153ad5289d5390341"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa17a7667769390f153ad5289d5390341">◆ </a></span>vst() <span class="overload">[2/14]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#aa17a7667769390f153ad5289d5390341">◆ </a></span>vst() <span class="overload">[1/14]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -24607,8 +26021,46 @@
<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div></div><!-- fragment -->
</div>
</div>
-<a id="acec5b4ba08b0ab7d080e2177e4b3deb1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#acec5b4ba08b0ab7d080e2177e4b3deb1">◆ </a></span>vst() <span class="overload">[3/14]</span></h2>
+<a id="a3753b9d735032ba72e7df0c5cbba31a1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3753b9d735032ba72e7df0c5cbba31a1">◆ </a></span>vst() <span class="overload">[2/14]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void arm_compute::vst </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1e36f8a2df3d6bd1756b90e2efb151e9">ptr_t</a>< uint8_t > </td>
+ <td class="paramname"><em>ptr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>< uint8_t > </td>
+ <td class="paramname"><em>vec</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 class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00218">218</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div></div><!-- fragment -->
+</div>
+</div>
+<a id="ab2c29d96efc44a4163d8f594cd836d1e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab2c29d96efc44a4163d8f594cd836d1e">◆ </a></span>vst() <span class="overload">[3/14]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -24625,7 +26077,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>< int8_t > </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>< int8_t > </td>
<td class="paramname"><em>vec</em> </td>
</tr>
<tr>
@@ -24645,8 +26097,8 @@
<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div></div><!-- fragment -->
</div>
</div>
-<a id="ab2c29d96efc44a4163d8f594cd836d1e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab2c29d96efc44a4163d8f594cd836d1e">◆ </a></span>vst() <span class="overload">[4/14]</span></h2>
+<a id="acec5b4ba08b0ab7d080e2177e4b3deb1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acec5b4ba08b0ab7d080e2177e4b3deb1">◆ </a></span>vst() <span class="overload">[4/14]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -24663,7 +26115,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>< int8_t > </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>< int8_t > </td>
<td class="paramname"><em>vec</em> </td>
</tr>
<tr>
@@ -24835,46 +26287,8 @@
<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div></div><!-- fragment -->
</div>
</div>
-<a id="aca451511712482f55001063da2317427"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aca451511712482f55001063da2317427">◆ </a></span>vst() <span class="overload">[9/14]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void arm_compute::vst </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1e36f8a2df3d6bd1756b90e2efb151e9">ptr_t</a>< uint32_t > </td>
- <td class="paramname"><em>ptr</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>< uint32_t > </td>
- <td class="paramname"><em>vec</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 class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00222">222</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div></div><!-- fragment -->
-</div>
-</div>
<a id="aa1e4aafb14bd8eee38caa7ad5db69507"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa1e4aafb14bd8eee38caa7ad5db69507">◆ </a></span>vst() <span class="overload">[10/14]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#aa1e4aafb14bd8eee38caa7ad5db69507">◆ </a></span>vst() <span class="overload">[9/14]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -24911,8 +26325,46 @@
<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div></div><!-- fragment -->
</div>
</div>
-<a id="a59f96d9a74850a843c1f710803fe8de8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a59f96d9a74850a843c1f710803fe8de8">◆ </a></span>vst() <span class="overload">[11/14]</span></h2>
+<a id="aca451511712482f55001063da2317427"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aca451511712482f55001063da2317427">◆ </a></span>vst() <span class="overload">[10/14]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void arm_compute::vst </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1e36f8a2df3d6bd1756b90e2efb151e9">ptr_t</a>< uint32_t > </td>
+ <td class="paramname"><em>ptr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>< uint32_t > </td>
+ <td class="paramname"><em>vec</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 class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00222">222</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div></div><!-- fragment -->
+</div>
+</div>
+<a id="a788c1fc3809f77d2866e4282d374770b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a788c1fc3809f77d2866e4282d374770b">◆ </a></span>vst() <span class="overload">[11/14]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -24929,7 +26381,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>< int32_t > </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>< int32_t > </td>
<td class="paramname"><em>vec</em> </td>
</tr>
<tr>
@@ -24949,8 +26401,8 @@
<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div></div><!-- fragment -->
</div>
</div>
-<a id="a788c1fc3809f77d2866e4282d374770b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a788c1fc3809f77d2866e4282d374770b">◆ </a></span>vst() <span class="overload">[12/14]</span></h2>
+<a id="a59f96d9a74850a843c1f710803fe8de8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a59f96d9a74850a843c1f710803fe8de8">◆ </a></span>vst() <span class="overload">[12/14]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -24967,7 +26419,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>< int32_t > </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>< int32_t > </td>
<td class="paramname"><em>vec</em> </td>
</tr>
<tr>
@@ -25098,8 +26550,6 @@
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00232">232</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00486">NELogits1DMaxKernel::run()</a>.</p>
<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div></div><!-- fragment -->
</div>
</div>
@@ -25170,6 +26620,56 @@
</div>
</div>
+<a id="aeb6881009f40f57d430752441ec5c4f4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aeb6881009f40f57d430752441ec5c4f4">◆ </a></span>wrap_around()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">T arm_compute::wrap_around </td>
+ <td>(</td>
+ <td class="paramtype">T </td>
+ <td class="paramname"><em>x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">T </td>
+ <td class="paramname"><em>m</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>Wrap-around a number within the range 0 <= x < m. </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>
+ <tr><td class="paramdir">[in]</td><td class="paramname">m</td><td>Range</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the wrapped-around number </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00755">755</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="l00756"></a><span class="lineno"> 756</span> {</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span>  <span class="keywordflow">return</span> x >= 0 ? x % m : (x % m + m) % m;</div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span> }</div></div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="_c_l_reduce_mean_8cpp_source.xhtml#l00039">CLReduceMean::configure()</a>, <a class="el" href="_n_e_reduce_mean_8cpp_source.xhtml#l00077">NEReduceMean::configure()</a>, <a class="el" href="_c_l_gather_kernel_8cpp_source.xhtml#l00091">CLGatherKernel::configure()</a>, <a class="el" href="_c_l_stack_layer_8cpp_source.xhtml#l00047">CLStackLayer::configure()</a>, <a class="el" href="_n_e_stack_layer_8cpp_source.xhtml#l00044">NEStackLayer::configure()</a>, <a class="el" href="reference_2_unstack_8cpp_source.xhtml#l00087">arm_compute::test::validation::reference::unstack()</a>, <a class="el" href="_c_l_reduce_mean_8cpp_source.xhtml#l00099">CLReduceMean::validate()</a>, <a class="el" href="_n_e_reduce_mean_8cpp_source.xhtml#l00036">NEReduceMean::validate()</a>, <a class="el" href="_c_l_stack_layer_8cpp_source.xhtml#l00061">CLStackLayer::validate()</a>, and <a class="el" href="_n_e_stack_layer_8cpp_source.xhtml#l00058">NEStackLayer::validate()</a>.</p>
+
+</div>
+</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="a3fed059965fe44cbe7ed4091d6b63acf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3fed059965fe44cbe7ed4091d6b63acf">◆ </a></span>CONSTANT_BORDER_VALUE</h2>
@@ -25183,7 +26683,7 @@
</table>
</div><div class="memdoc">
-<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>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 class="definition">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>
@@ -25237,7 +26737,7 @@
</table>
</div><div class="memdoc">
-<p>Constant value used to indicate maximum dimensions of a <a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a>, <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml" title="Shape of a tensor. ">TensorShape</a> and <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a>. </p>
+<p>Constant value used to indicate maximum dimensions of a <a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window.">Window</a>, <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml" title="Shape of a tensor.">TensorShape</a> and <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item.">Coordinates</a>. </p>
<p class="definition">Definition at line <a class="el" href="_dimensions_8h_source.xhtml#l00037">37</a> of file <a class="el" href="_dimensions_8h_source.xhtml">Dimensions.h</a>.</p>
@@ -25257,7 +26757,7 @@
<p class="definition">Definition at line <a class="el" href="_n_e_table_lookup_kernel_8cpp_source.xhtml#l00043">43</a> of file <a class="el" href="_n_e_table_lookup_kernel_8cpp_source.xhtml">NETableLookupKernel.cpp</a>.</p>
-<p class="reference">Referenced by <a class="el" href="_n_e_table_lookup_kernel_8cpp_source.xhtml#l00109">NETableLookupKernel::configure()</a>, and <a class="el" href="_n_e_table_lookup_kernel_8cpp_source.xhtml#l00046">NETableLookupKernel::NETableLookupKernel()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="_n_e_table_lookup_kernel_8cpp_source.xhtml#l00109">NETableLookupKernel::configure()</a>.</p>
</div>
</div>
@@ -25297,7 +26797,7 @@
<p class="definition">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>
-<p class="reference">Referenced by <a class="el" href="_c_l_gaussian_pyramid_8cpp_source.xhtml#l00139">CLGaussianPyramidOrb::configure()</a>, <a class="el" href="_n_e_gaussian_pyramid_8cpp_source.xhtml#l00133">NEGaussianPyramidOrb::configure()</a>, <a class="el" href="_pyramid_8cpp_source.xhtml#l00041">Pyramid::init_auto_padding()</a>, and <a class="el" href="_c_l_pyramid_8cpp_source.xhtml#l00047">CLPyramid::init_auto_padding()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="_c_l_gaussian_pyramid_8cpp_source.xhtml#l00139">CLGaussianPyramidOrb::configure()</a>, and <a class="el" href="_n_e_gaussian_pyramid_8cpp_source.xhtml#l00133">NEGaussianPyramidOrb::configure()</a>.</p>
</div>
</div>
@@ -25307,9 +26807,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 Nov 22 2018 11:57:44 for Compute Library by
+ <li class="footer">Generated on Thu Feb 28 2019 12:24:58 for Compute Library by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li>
</ul>
</div>
</body>