arm_compute v19.11
diff --git a/documentation/namespacearm__compute.xhtml b/documentation/namespacearm__compute.xhtml
index db16876..9c0eded 100644
--- a/documentation/namespacearm__compute.xhtml
+++ b/documentation/namespacearm__compute.xhtml
@@ -40,7 +40,7 @@
<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">
-  <span id="projectnumber">19.08</span>
+  <span id="projectnumber">19.11</span>
</div>
</td>
</tr>
@@ -108,7 +108,7 @@
</div><!--header-->
<div class="contents">
-<p>Copyright (c) 2017-2018 ARM Limited.
+<p>Copyright (c) 2017-2019 ARM Limited.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
@@ -147,6 +147,8 @@
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:namespacearm__compute_1_1utils"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1utils.xhtml">utils</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:namespacearm__compute_1_1weights__transformations"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1weights__transformations.xhtml">weights_transformations</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:namespacearm__compute_1_1wrapper"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1wrapper.xhtml">wrapper</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
@@ -405,6 +407,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_copy_to_array_kernel.xhtml">CLCopyToArrayKernel</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">CL kernel to copy keypoints information to ICLKeyPointArray and counts the number of key points. <a href="classarm__compute_1_1_c_l_copy_to_array_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_core_runtime_context.xhtml">CLCoreRuntimeContext</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Core runtime context for OpenCL. <a href="classarm__compute_1_1_c_l_core_runtime_context.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_crop_kernel.xhtml">CLCropKernel</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to perform a copy between two tensors. <a href="classarm__compute_1_1_c_l_crop_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
@@ -439,7 +444,7 @@
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the depth to space kernel. <a href="classarm__compute_1_1_c_l_depth_to_space_layer_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depthwise_convolution_layer.xhtml">CLDepthwiseConvolutionLayer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute a generic depthwise convolution. <a href="classarm__compute_1_1_c_l_depthwise_convolution_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Function to execute a depthwise convolution. <a href="classarm__compute_1_1_c_l_depthwise_convolution_layer.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depthwise_convolution_layer3x3.xhtml">CLDepthwiseConvolutionLayer3x3</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute a depthwise convolution for kernel size 3x3xC (when data layout NCHW) or Cx3x3 (when data layout NHWC). <a href="classarm__compute_1_1_c_l_depthwise_convolution_layer3x3.xhtml#details">More...</a><br /></td></tr>
@@ -450,21 +455,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="memitem:"><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_native_kernel.xhtml">CLDepthwiseConvolutionLayerNativeKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run a MxN depthwise convolution. <a href="classarm__compute_1_1_c_l_depthwise_convolution_layer_native_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><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>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depthwise_separable_convolution_layer.xhtml">CLDepthwiseSeparableConvolutionLayer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute depthwise convolution. <a href="classarm__compute_1_1_c_l_depthwise_separable_convolution_layer.xhtml#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depthwise_vector_to_tensor_kernel.xhtml">CLDepthwiseVectorToTensorKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the depthwise vector to tensor kernel. <a href="classarm__compute_1_1_c_l_depthwise_vector_to_tensor_kernel.xhtml#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_dequantization_layer.xhtml">CLDequantizationLayer</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_dequantization_layer_kernel.xhtml">CLDequantizationLayerKernel</a> that dequantizes an input tensor. <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>
@@ -492,9 +488,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_direct_convolution_layer_kernel.xhtml">CLDirectConvolutionLayerKernel</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the direct convolution kernel. <a href="classarm__compute_1_1_c_l_direct_convolution_layer_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_direct_convolution_layer_output_stage_kernel.xhtml">CLDirectConvolutionLayerOutputStageKernel</a></td></tr>
-<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_direct_deconvolution_layer.xhtml">CLDirectDeconvolutionLayer</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Function to run the deconvolution layer. <a href="classarm__compute_1_1_c_l_direct_deconvolution_layer.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
@@ -693,9 +686,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_g_e_m_m_matrix_accumulate_biases_kernel.xhtml">CLGEMMMatrixAccumulateBiasesKernel</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface to add a bias to each row of the input tensor. <a href="classarm__compute_1_1_c_l_g_e_m_m_matrix_accumulate_biases_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_matrix_addition_kernel.xhtml">CLGEMMMatrixAdditionKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to perform the in-place matrix addition between 2 matrices, taking into account that the second matrix might be weighted by a scalar value beta. <a href="classarm__compute_1_1_c_l_g_e_m_m_matrix_addition_kernel.xhtml#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_matrix_multiply_kernel.xhtml">CLGEMMMatrixMultiplyKernel</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to multiply two input matrices "A" and "B" and add a martix "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>
@@ -768,6 +758,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_im2_col_kernel.xhtml">CLIm2ColKernel</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the im2col reshape kernel. <a href="classarm__compute_1_1_c_l_im2_col_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_instance_normalization_layer.xhtml">CLInstanceNormalizationLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to perform a Instance normalization. <a href="classarm__compute_1_1_c_l_instance_normalization_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_instance_normalization_layer_kernel.xhtml">CLInstanceNormalizationLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for performing an instance normalization. <a href="classarm__compute_1_1_c_l_instance_normalization_layer_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_integral_image.xhtml">CLIntegralImage</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute integral image. <a href="classarm__compute_1_1_c_l_integral_image.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
@@ -924,6 +920,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_pad_layer.xhtml">CLPadLayer</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_c_l_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_c_l_pad_layer_kernel.xhtml">CLPadLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the PadLayer function. <a href="classarm__compute_1_1_c_l_pad_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_permute.xhtml">CLPermute</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute an <a class="el" href="classarm__compute_1_1_c_l_permute_kernel.xhtml">CLPermuteKernel</a>. <a href="classarm__compute_1_1_c_l_permute.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
@@ -1025,6 +1024,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_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_runtime_context.xhtml">CLRuntimeContext</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Runtime context. <a href="classarm__compute_1_1_c_l_runtime_context.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><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>
@@ -1085,8 +1087,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_c_l_sobel7x7_vert_kernel.xhtml">CLSobel7x7VertKernel</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run the vertical pass of 7x7 Sobel filter on a tensor. <a href="classarm__compute_1_1_c_l_sobel7x7_vert_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_softmax_layer.xhtml">CLSoftmaxLayer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to compute a SoftmaxLayer. <a href="classarm__compute_1_1_c_l_softmax_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_softmax_layer_generic.xhtml">CLSoftmaxLayerGeneric</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to compute a SoftmaxLayer. <a href="classarm__compute_1_1_c_l_softmax_layer_generic.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><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 spatial divide a tensor. <a href="classarm__compute_1_1_c_l_space_to_batch_layer.xhtml#details">More...</a><br /></td></tr>
@@ -1284,12 +1286,21 @@
<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">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_device_properties.xhtml">DeviceProperties</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Device properties. <a href="structarm__compute_1_1_device_properties.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr 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="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_distribution1_d.xhtml">Distribution1D</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of the 1D distribution interface. <a href="classarm__compute_1_1_distribution1_d.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_d_w_c_kernel_info.xhtml">DWCKernelInfo</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Descriptor used by the depthwise convolution kernels. <a href="structarm__compute_1_1_d_w_c_kernel_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_d_w_c_weights_kernel_info.xhtml">DWCWeightsKernelInfo</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Descriptor used by the depthwise convolution kernels to retrieve the number of output elements processed by each thread. <a href="structarm__compute_1_1_d_w_c_weights_kernel_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_1enable__bitwise__ops.xhtml">enable_bitwise_ops</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Disable bitwise operations by default. <a href="structarm__compute_1_1enable__bitwise__ops.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
@@ -1356,6 +1367,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_g_c_convolution_layer_reshape_weights.xhtml">GCConvolutionLayerReshapeWeights</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Function to reshape and transpose the weights. <a href="classarm__compute_1_1_g_c_convolution_layer_reshape_weights.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_core_runtime_context.xhtml">GCCoreRuntimeContext</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Core runtime context for OpenGL ES. <a href="classarm__compute_1_1_g_c_core_runtime_context.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_depth_concatenate_layer_kernel.xhtml">GCDepthConcatenateLayerKernel</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the depth concatenate kernel. <a href="classarm__compute_1_1_g_c_depth_concatenate_layer_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
@@ -1461,6 +1475,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_g_c_program.xhtml">GCProgram</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_g_c_program.xhtml" title="GCProgram class.">GCProgram</a> class. <a href="classarm__compute_1_1_g_c_program.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_runtime_context.xhtml">GCRuntimeContext</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Runtime context. <a href="classarm__compute_1_1_g_c_runtime_context.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr 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>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
@@ -1530,8 +1547,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_i_array.xhtml">IArray</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_array.xhtml" title="Basic implementation of the IArray interface which allocates a static number of T values.">Array</a> of type T. <a href="classarm__compute_1_1_i_array.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_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="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_asset_manager.xhtml">IAssetManager</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Asset manager interface. <a href="classarm__compute_1_1_i_asset_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>
@@ -1647,6 +1664,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_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="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr 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_manageable.xhtml">IMemoryManageable</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface of an object than can be memory managed. <a href="classarm__compute_1_1_i_memory_manageable.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr 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="separator:"><td class="memSeparator" colspan="2"> </td></tr>
@@ -1698,6 +1718,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_pyramid.xhtml">IPyramid</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for pyramid data-object. <a href="classarm__compute_1_1_i_pyramid.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_runtime_context.xhtml">IRuntimeContext</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Context interface. <a href="classarm__compute_1_1_i_runtime_context.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_scheduler.xhtml">IScheduler</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_scheduler.xhtml" title="Configurable scheduler which supports multiple multithreading APIs and choosing between different sch...">Scheduler</a> interface to run kernels. <a href="classarm__compute_1_1_i_scheduler.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
@@ -1716,6 +1739,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_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="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr 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_transform_weights.xhtml">ITransformWeights</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Weights tensor transform interface In order to identify the different reshape functions, each reshape function has to generate a unique id. <a href="classarm__compute_1_1_i_transform_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_i_weights_manager.xhtml">IWeightsManager</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Weights manager interface to handle weights transformations. <a href="classarm__compute_1_1_i_weights_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_kernel.xhtml">Kernel</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class.">Kernel</a> class. <a href="classarm__compute_1_1_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
@@ -1735,8 +1764,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_memory.xhtml">Memory</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">CPU implementation of memory object. <a href="classarm__compute_1_1_memory.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_memory_group_base.xhtml">MemoryGroupBase</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object.">Memory</a> group. <a href="classarm__compute_1_1_memory_group_base.xhtml#details">More...</a><br /></td></tr>
+<tr class="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.xhtml">MemoryGroup</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.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr 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_resource_scope.xhtml">MemoryGroupResourceScope</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 resources scope handling class. <a href="classarm__compute_1_1_memory_group_resource_scope.xhtml#details">More...</a><br /></td></tr>
@@ -1848,6 +1877,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_bitwise_xor_kernel.xhtml">NEBitwiseXorKernel</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to perform bitwise exclusive OR (XOR) between two tensors. <a href="classarm__compute_1_1_n_e_bitwise_xor_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bounding_box_transform.xhtml">NEBoundingBoxTransform</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_bounding_box_transform_kernel.xhtml">NEBoundingBoxTransformKernel</a>. <a href="classarm__compute_1_1_n_e_bounding_box_transform.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bounding_box_transform_kernel.xhtml">NEBoundingBoxTransformKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the bounding box kernel. <a href="classarm__compute_1_1_n_e_bounding_box_transform_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_box3x3.xhtml">NEBox3x3</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute box filter 3x3. <a href="classarm__compute_1_1_n_e_box3x3.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
@@ -1898,6 +1933,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_complex_pixel_wise_multiplication_kernel.xhtml">NEComplexPixelWiseMultiplicationKernel</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the complex pixelwise multiplication kernel. <a href="classarm__compute_1_1_n_e_complex_pixel_wise_multiplication_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_compute_all_anchors.xhtml">NEComputeAllAnchors</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_compute_all_anchors_kernel.xhtml">NEComputeAllAnchorsKernel</a>. <a href="classarm__compute_1_1_n_e_compute_all_anchors.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_compute_all_anchors_kernel.xhtml">NEComputeAllAnchorsKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for Compute All Anchors kernel. <a href="classarm__compute_1_1_n_e_compute_all_anchors_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><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>
@@ -1907,6 +1948,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_convert_fully_connected_weights_kernel.xhtml">NEConvertFullyConnectedWeightsKernel</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface to convert the 2D Fully Connected weights from NCHW to NHWC or vice versa. <a href="classarm__compute_1_1_n_e_convert_fully_connected_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_n_e_convert_quantized_signedness_kernel.xhtml">NEConvertQuantizedSignednessKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to convert asymmetric signed to asymmetric signed and vice-versa. <a href="classarm__compute_1_1_n_e_convert_quantized_signedness_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution3x3.xhtml">NEConvolution3x3</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute convolution of size 3x3. <a href="classarm__compute_1_1_n_e_convolution3x3.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
@@ -1965,10 +2009,7 @@
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Depthwise convolution assembly kernel glue. <a href="classarm__compute_1_1_n_e_depthwise_convolution_assembly_dispatch.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depthwise_convolution_layer.xhtml">NEDepthwiseConvolutionLayer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute a generic depthwise convolution. <a href="classarm__compute_1_1_n_e_depthwise_convolution_layer.xhtml#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depthwise_convolution_layer3x3.xhtml">NEDepthwiseConvolutionLayer3x3</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute a depthwise convolution for kernel size 3x3xC. <a href="classarm__compute_1_1_n_e_depthwise_convolution_layer3x3.xhtml#details">More...</a><br /></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Function to execute a depthwise convolution. <a href="classarm__compute_1_1_n_e_depthwise_convolution_layer.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depthwise_convolution_layer3x3_kernel.xhtml">NEDepthwiseConvolutionLayer3x3Kernel</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run a 3x3 depthwise convolution on a tensor. <a href="classarm__compute_1_1_n_e_depthwise_convolution_layer3x3_kernel.xhtml#details">More...</a><br /></td></tr>
@@ -1979,18 +2020,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_n_e_depthwise_convolution_layer_optimized.xhtml">NEDepthwiseConvolutionLayerOptimized</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute optimized depthwise convolution routines. <a href="classarm__compute_1_1_n_e_depthwise_convolution_layer_optimized.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depthwise_im2_col_kernel.xhtml">NEDepthwiseIm2ColKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the depthwise im2col reshape kernel. <a href="classarm__compute_1_1_n_e_depthwise_im2_col_kernel.xhtml#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depthwise_separable_convolution_layer.xhtml">NEDepthwiseSeparableConvolutionLayer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute depthwise convolution. <a href="classarm__compute_1_1_n_e_depthwise_separable_convolution_layer.xhtml#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depthwise_vector_to_tensor_kernel.xhtml">NEDepthwiseVectorToTensorKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the depthwise vector to tensor kernel. <a href="classarm__compute_1_1_n_e_depthwise_vector_to_tensor_kernel.xhtml#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depthwise_weights_reshape_kernel.xhtml">NEDepthwiseWeightsReshapeKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the depthwise weights reshape kernel. <a href="classarm__compute_1_1_n_e_depthwise_weights_reshape_kernel.xhtml#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_dequantization_layer.xhtml">NEDequantizationLayer</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_dequantization_layer_kernel.xhtml">NEDequantizationLayerKernel</a> that dequantizes an input tensor. <a href="classarm__compute_1_1_n_e_dequantization_layer.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
@@ -2003,6 +2032,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_derivative_kernel.xhtml">NEDerivativeKernel</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run the derivative along the X/Y directions on a tensor. <a href="classarm__compute_1_1_n_e_derivative_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_detection_post_process_layer.xhtml">NEDetectionPostProcessLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NE Function to generate the detection output based on center size encoded boxes, class prediction and anchors by doing non maximum suppression. <a href="classarm__compute_1_1_n_e_detection_post_process_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_dilate.xhtml">NEDilate</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute dilate. <a href="classarm__compute_1_1_n_e_dilate.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
@@ -2179,9 +2211,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_n_e_g_e_m_m_interleave4x4_kernel.xhtml">NEGEMMInterleave4x4Kernel</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to interleave the elements of a matrix. <a href="classarm__compute_1_1_n_e_g_e_m_m_interleave4x4_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_interleaved_wrapper.xhtml">NEGEMMInterleavedWrapper</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Equivalent to <a class="el" href="classarm__gemm_1_1_gemm_interleaved.xhtml">arm_gemm::GemmInterleaved</a> but using Compute Library types. <a href="classarm__compute_1_1_n_e_g_e_m_m_interleaved_wrapper.xhtml#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_lowp_assembly_matrix_multiply_core.xhtml">NEGEMMLowpAssemblyMatrixMultiplyCore</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute matrix multiply assembly kernels. <a href="classarm__compute_1_1_n_e_g_e_m_m_lowp_assembly_matrix_multiply_core.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
@@ -2239,6 +2268,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_g_e_m_m_transpose1x_w_kernel.xhtml">NEGEMMTranspose1xWKernel</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel which transposes the elements of a matrix in chunks of 1xW, where W is equal to (16 / element size of the tensor) <a href="classarm__compute_1_1_n_e_g_e_m_m_transpose1x_w_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_generate_proposals_layer.xhtml">NEGenerateProposalsLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to generate proposals for a RPN (Region Proposal Network) <a href="classarm__compute_1_1_n_e_generate_proposals_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gradient_kernel.xhtml">NEGradientKernel</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Computes magnitude and quantised phase from inputs gradients. <a href="classarm__compute_1_1_n_e_gradient_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
@@ -2284,6 +2316,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_im2_col_kernel.xhtml">NEIm2ColKernel</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the im2col reshape kernel. <a href="classarm__compute_1_1_n_e_im2_col_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_instance_normalization_layer.xhtml">NEInstanceNormalizationLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to perform a Instance normalization. <a href="classarm__compute_1_1_n_e_instance_normalization_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_instance_normalization_layer_kernel.xhtml">NEInstanceNormalizationLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for performing an instance normalization. <a href="classarm__compute_1_1_n_e_instance_normalization_layer_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_integral_image.xhtml">NEIntegralImage</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run a <a class="el" href="classarm__compute_1_1_n_e_integral_image_kernel.xhtml">NEIntegralImageKernel</a>. <a href="classarm__compute_1_1_n_e_integral_image.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
@@ -2395,6 +2433,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_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_pad_layer_kernel.xhtml">NEPadLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to add padding to a tensor. <a href="classarm__compute_1_1_n_e_pad_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_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>
@@ -2475,6 +2516,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_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>
+<tr class="memitem:"><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_align_layer.xhtml">NEROIAlignLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_r_o_i_align_layer_kernel.xhtml">NEROIAlignLayerKernel</a>. <a href="classarm__compute_1_1_n_e_r_o_i_align_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_align_layer_kernel.xhtml">NEROIAlignLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the RoIAlign kernel. <a href="classarm__compute_1_1_n_e_r_o_i_align_layer_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_r_o_i_pooling_layer.xhtml">NEROIPoolingLayer</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_r_o_i_pooling_layer_kernel.xhtml">NEROIPoolingLayerKernel</a>. <a href="classarm__compute_1_1_n_e_r_o_i_pooling_layer.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
@@ -2544,8 +2591,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_sobel7x7_vert_kernel.xhtml">NESobel7x7VertKernel</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run the vertical pass of 7x7 Sobel Y filter on a tensor. <a href="classarm__compute_1_1_n_e_sobel7x7_vert_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_softmax_layer.xhtml">NESoftmaxLayer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to compute a SoftmaxLayer. <a href="classarm__compute_1_1_n_e_softmax_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="memitem:"><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_generic.xhtml">NESoftmaxLayerGeneric</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to compute a SoftmaxLayer and a Log SoftmaxLayer. <a href="classarm__compute_1_1_n_e_softmax_layer_generic.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_space_to_batch_layer.xhtml">NESpaceToBatchLayer</a></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_n_e_space_to_batch_layer.xhtml#details">More...</a><br /></td></tr>
@@ -2694,9 +2741,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_r_o_i_pooling_layer_info.xhtml">ROIPoolingLayerInfo</a></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_runtime_context.xhtml">RuntimeContext</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Runtime context. <a href="classarm__compute_1_1_runtime_context.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_scheduler.xhtml">Scheduler</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Configurable scheduler which supports multiple multithreading APIs and choosing between different schedulers at runtime. <a href="classarm__compute_1_1_scheduler.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_scheduler_factory.xhtml">SchedulerFactory</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_scheduler.xhtml" title="Configurable scheduler which supports multiple multithreading APIs and choosing between different sch...">Scheduler</a> Factory. <a href="classarm__compute_1_1_scheduler_factory.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_semaphore.xhtml">Semaphore</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Semamphore class. <a href="classarm__compute_1_1_semaphore.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
@@ -2706,6 +2759,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_size2_d.xhtml">Size2D</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Class for specifying the size of an image or rectangle. <a href="classarm__compute_1_1_size2_d.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_softmax_kernel_info.xhtml">SoftmaxKernelInfo</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Descriptor used by the softmax kernels. <a href="structarm__compute_1_1_softmax_kernel_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_status.xhtml">Status</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class.">Status</a> class. <a href="classarm__compute_1_1_status.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
@@ -2955,6 +3011,9 @@
<tr class="memitem:ab8938bcb3ec0f5f8d93285eb3a28b701"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab8938bcb3ec0f5f8d93285eb3a28b701">qasymm8_t</a> = uint8_t</td></tr>
<tr class="memdesc:ab8938bcb3ec0f5f8d93285eb3a28b701"><td class="mdescLeft"> </td><td class="mdescRight">8 bit quantized asymmetric scalar value <a href="#ab8938bcb3ec0f5f8d93285eb3a28b701">More...</a><br /></td></tr>
<tr class="separator:ab8938bcb3ec0f5f8d93285eb3a28b701"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7f2ec1184355233865bad39063cfa1c5"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7f2ec1184355233865bad39063cfa1c5">qasymm16_t</a> = uint16_t</td></tr>
+<tr class="memdesc:a7f2ec1184355233865bad39063cfa1c5"><td class="mdescLeft"> </td><td class="mdescRight">16 bit quantized asymmetric scalar value <a href="#a7f2ec1184355233865bad39063cfa1c5">More...</a><br /></td></tr>
+<tr class="separator:a7f2ec1184355233865bad39063cfa1c5"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a73e2825fd61d349c5ca2f5313e3c8ea1"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">half</a> = half_float::half</td></tr>
<tr class="memdesc:a73e2825fd61d349c5ca2f5313e3c8ea1"><td class="mdescLeft"> </td><td class="mdescRight">16-bit floating point type <a href="#a73e2825fd61d349c5ca2f5313e3c8ea1">More...</a><br /></td></tr>
<tr class="separator:a73e2825fd61d349c5ca2f5313e3c8ea1"><td class="memSeparator" colspan="2"> </td></tr>
@@ -3043,9 +3102,6 @@
<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="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="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="separator:aae712f442eae2d56d17529ca6cb9cb77"><td class="memSeparator" colspan="2"> </td></tr>
@@ -3085,14 +3141,13 @@
<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="separator:a4ec6965f606c588137f7a48d84c1d6f0"><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:a30ce3b40394b4f2d1e4cc31db7183425"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a30ce3b40394b4f2d1e4cc31db7183425">CLSoftmaxLayer</a> = <a class="el" href="classarm__compute_1_1_c_l_softmax_layer_generic.xhtml">CLSoftmaxLayerGeneric</a>< false ></td></tr>
+<tr class="separator:a30ce3b40394b4f2d1e4cc31db7183425"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa02883dd85b75a6eb0d4878f266908dd"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa02883dd85b75a6eb0d4878f266908dd">CLLogSoftmaxLayer</a> = <a class="el" href="classarm__compute_1_1_c_l_softmax_layer_generic.xhtml">CLSoftmaxLayerGeneric</a>< true ></td></tr>
+<tr class="separator:aa02883dd85b75a6eb0d4878f266908dd"><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="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="separator:a0e7a03e2e133cb1fbb12517a3f646a09"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:adbc7771d367ba8f51da1450d3602e5c0"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adbc7771d367ba8f51da1450d3602e5c0">NEConvolution5x5</a> = <a class="el" href="classarm__compute_1_1_n_e_convolution_square.xhtml">NEConvolutionSquare</a>< 5 ></td></tr>
<tr class="memdesc:adbc7771d367ba8f51da1450d3602e5c0"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run 5x5 convolution. <a href="#adbc7771d367ba8f51da1450d3602e5c0">More...</a><br /></td></tr>
<tr class="separator:adbc7771d367ba8f51da1450d3602e5c0"><td class="memSeparator" colspan="2"> </td></tr>
@@ -3123,6 +3178,10 @@
<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="separator:a681c120e2188371794ec3a59768c64ab"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a4df2143ca0a3bdbbbc54b440a52541cd"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4df2143ca0a3bdbbbc54b440a52541cd">NESoftmaxLayer</a> = <a class="el" href="classarm__compute_1_1_n_e_softmax_layer_generic.xhtml">NESoftmaxLayerGeneric</a>< false ></td></tr>
+<tr class="separator:a4df2143ca0a3bdbbbc54b440a52541cd"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a4478c830368ed024dc47a2bf48978616"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4478c830368ed024dc47a2bf48978616">NELogSoftmaxLayer</a> = <a class="el" href="classarm__compute_1_1_n_e_softmax_layer_generic.xhtml">NESoftmaxLayerGeneric</a>< true ></td></tr>
+<tr class="separator:a4478c830368ed024dc47a2bf48978616"><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>
@@ -3159,6 +3218,14 @@
<tr class="memitem:acded863dbfdd730829d4188d67eefcf0"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#acded863dbfdd730829d4188d67eefcf0">Mutex</a> = std::mutex</td></tr>
<tr class="memdesc:acded863dbfdd730829d4188d67eefcf0"><td class="mdescLeft"> </td><td class="mdescRight">Wrapper of Mutex data-object. <a href="#acded863dbfdd730829d4188d67eefcf0">More...</a><br /></td></tr>
<tr class="separator:acded863dbfdd730829d4188d67eefcf0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a18809773edf57d061fc2826abf0dab5e"><td class="memTemplParams" colspan="2">template<typename Mutex > </td></tr>
+<tr class="memitem:a18809773edf57d061fc2826abf0dab5e"><td class="memTemplItemLeft" align="right" valign="top">using </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a18809773edf57d061fc2826abf0dab5e">lock_guard</a> = std::lock_guard< <a class="el" href="namespacearm__compute.xhtml#acded863dbfdd730829d4188d67eefcf0">Mutex</a> ></td></tr>
+<tr class="memdesc:a18809773edf57d061fc2826abf0dab5e"><td class="mdescLeft"> </td><td class="mdescRight">Wrapper of lock_guard data-object. <a href="#a18809773edf57d061fc2826abf0dab5e">More...</a><br /></td></tr>
+<tr class="separator:a18809773edf57d061fc2826abf0dab5e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a83308d038c8dbe8b7d5525aa6cc2193a"><td class="memTemplParams" colspan="2">template<typename Mutex > </td></tr>
+<tr class="memitem:a83308d038c8dbe8b7d5525aa6cc2193a"><td class="memTemplItemLeft" align="right" valign="top">using </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a83308d038c8dbe8b7d5525aa6cc2193a">unique_lock</a> = std::unique_lock< <a class="el" href="namespacearm__compute.xhtml#acded863dbfdd730829d4188d67eefcf0">Mutex</a> ></td></tr>
+<tr class="memdesc:a83308d038c8dbe8b7d5525aa6cc2193a"><td class="mdescLeft"> </td><td class="mdescRight">Wrapper of lock_guard data-object. <a href="#a83308d038c8dbe8b7d5525aa6cc2193a">More...</a><br /></td></tr>
+<tr class="separator:a83308d038c8dbe8b7d5525aa6cc2193a"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
@@ -3263,21 +3330,23 @@
<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c">QSYMM8</a>,
<br />
  <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>,
+<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a329f5d0c4b0c80e3474951d2c4435dd9">QASYMM8_SIGNED</a>,
<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a34f500e941c4df30b870126ec868ebd5">QSYMM8_PER_CHANNEL</a>,
<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>,
-<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a6e0b0886efb94aec797f6b830329b72c">S16</a>,
<br />
-  <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6">QSYMM16</a>,
+  <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a6e0b0886efb94aec797f6b830329b72c">S16</a>,
+<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6">QSYMM16</a>,
+<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a3b989c6b5398b3b9538ad103a324205e">QASYMM16</a>,
<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>,
-<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aa1e28eee0339658d39a8b4d325b56e9c">S32</a>,
+<br />
+  <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aa1e28eee0339658d39a8b4d325b56e9c">S32</a>,
<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>,
-<br />
-  <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>,
+<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>,
<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a56d8353718e6fdc78b8d69078a2cdb94">F16</a>,
-<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>,
-<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>,
<br />
-  <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a>
+  <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>,
+<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>,
+<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a>
<br />
}</td></tr>
<tr class="memdesc:ad8ed01ff3ff33333d8e19db4d2818bb6"><td class="mdescLeft"> </td><td class="mdescRight">Available data types. <a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">More...</a><br /></td></tr>
@@ -3307,6 +3376,11 @@
}</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:a0255421478a6f5ab8a2596d966411a5b"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0255421478a6f5ab8a2596d966411a5b">DepthwiseConvolutionFunction</a> { <a class="el" href="namespacearm__compute.xhtml#a0255421478a6f5ab8a2596d966411a5ba90190a007b4cd58a842970e987761079">OPTIMIZED</a>,
+<a class="el" href="namespacearm__compute.xhtml#a0255421478a6f5ab8a2596d966411a5bac942dc2a9f958acddc67e11472d3ca0b">GENERIC</a>
+ }</td></tr>
+<tr class="memdesc:a0255421478a6f5ab8a2596d966411a5b"><td class="mdescLeft"> </td><td class="mdescRight">Available DepthwiseConvolutionFunction. <a href="namespacearm__compute.xhtml#a0255421478a6f5ab8a2596d966411a5b">More...</a><br /></td></tr>
+<tr class="separator:a0255421478a6f5ab8a2596d966411a5b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a6f66ec167e002c7c0549ff6c8a8939ad"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6f66ec167e002c7c0549ff6c8a8939ad">DeconvolutionMethod</a> { <a class="el" href="namespacearm__compute.xhtml#a6f66ec167e002c7c0549ff6c8a8939ada5174aac3927faa9ee34befb7fc87a9e3">GEMM</a>,
<a class="el" href="namespacearm__compute.xhtml#a6f66ec167e002c7c0549ff6c8a8939ada4c5d06b02c97731aaa976179c62dcf76">DIRECT</a>
}</td></tr>
@@ -3520,6 +3594,12 @@
<tr class="memitem:a545eeda2eaa3f5a54345ce8169e21184"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a545eeda2eaa3f5a54345ce8169e21184">get_cl_type_from_data_type</a> (const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &dt)</td></tr>
<tr class="memdesc:a545eeda2eaa3f5a54345ce8169e21184"><td class="mdescLeft"> </td><td class="mdescRight">Translates a tensor data type to the appropriate OpenCL type. <a href="#a545eeda2eaa3f5a54345ce8169e21184">More...</a><br /></td></tr>
<tr class="separator:a545eeda2eaa3f5a54345ce8169e21184"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad090aabdbbec665e3704af55ba7bd563"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad090aabdbbec665e3704af55ba7bd563">get_cl_promoted_type_from_data_type</a> (const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &dt)</td></tr>
+<tr class="memdesc:ad090aabdbbec665e3704af55ba7bd563"><td class="mdescLeft"> </td><td class="mdescRight">Translates a tensor data type to the appropriate OpenCL promoted type. <a href="#ad090aabdbbec665e3704af55ba7bd563">More...</a><br /></td></tr>
+<tr class="separator:ad090aabdbbec665e3704af55ba7bd563"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a237044b76803b058edd1b23d599bcc6d"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a237044b76803b058edd1b23d599bcc6d">get_cl_unsigned_type_from_element_size</a> (size_t element_size)</td></tr>
+<tr class="memdesc:a237044b76803b058edd1b23d599bcc6d"><td class="mdescLeft"> </td><td class="mdescRight">Translates the element size to an unsigned integer data type. <a href="#a237044b76803b058edd1b23d599bcc6d">More...</a><br /></td></tr>
+<tr class="separator:a237044b76803b058edd1b23d599bcc6d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a70d221fbff7bff840ef4d3fdc701cf53"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a70d221fbff7bff840ef4d3fdc701cf53">get_cl_select_type_from_data_type</a> (const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &dt)</td></tr>
<tr class="memdesc:a70d221fbff7bff840ef4d3fdc701cf53"><td class="mdescLeft"> </td><td class="mdescRight">Translates a tensor data type to the appropriate OpenCL select type. <a href="#a70d221fbff7bff840ef4d3fdc701cf53">More...</a><br /></td></tr>
<tr class="separator:a70d221fbff7bff840ef4d3fdc701cf53"><td class="memSeparator" colspan="2"> </td></tr>
@@ -3559,6 +3639,9 @@
<tr class="memitem:a0c0eeab3eb098f019ae72268636dcc59"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0c0eeab3eb098f019ae72268636dcc59">preferred_dummy_work_items_support</a> (const cl::Device &device)</td></tr>
<tr class="memdesc:a0c0eeab3eb098f019ae72268636dcc59"><td class="mdescLeft"> </td><td class="mdescRight">Helper function to check if "dummy work-items" are preferred to have a power of two NDRange In case dummy work-items is enabled, it is OpenCL kernel responsibility to check if the work-item is out-of range or not. <a href="#a0c0eeab3eb098f019ae72268636dcc59">More...</a><br /></td></tr>
<tr class="separator:a0c0eeab3eb098f019ae72268636dcc59"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ada43831ccb18a13573b5aa39ee06fbb6"><td class="memItemLeft" align="right" valign="top">cl::Kernel </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ada43831ccb18a13573b5aa39ee06fbb6">create_opencl_kernel</a> (<a class="el" href="classarm__compute_1_1_c_l_core_runtime_context.xhtml">CLCoreRuntimeContext</a> *ctx, const std::string &kernel_name, const <a class="el" href="classarm__compute_1_1_c_l_build_options.xhtml">CLBuildOptions</a> &build_opts)</td></tr>
+<tr class="memdesc:ada43831ccb18a13573b5aa39ee06fbb6"><td class="mdescLeft"> </td><td class="mdescRight">Creates an opencl kernel. <a href="#ada43831ccb18a13573b5aa39ee06fbb6">More...</a><br /></td></tr>
+<tr class="separator:ada43831ccb18a13573b5aa39ee06fbb6"><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>
@@ -3589,18 +3672,21 @@
<tr class="memitem:a053a24bb37402fa4b4d8d5963976ba17"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a053a24bb37402fa4b4d8d5963976ba17">ignore_unused</a> (T &&...)</td></tr>
<tr class="memdesc:a053a24bb37402fa4b4d8d5963976ba17"><td class="mdescLeft"> </td><td class="mdescRight">Ignores unused arguments. <a href="#a053a24bb37402fa4b4d8d5963976ba17">More...</a><br /></td></tr>
<tr class="separator:a053a24bb37402fa4b4d8d5963976ba17"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:aee087c8a7edb0fb5b7e75b9037e34cf7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aee087c8a7edb0fb5b7e75b9037e34cf7">create_error_va_list</a> (<a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05f">ErrorCode</a> error_code, const char *function, const char *file, const int line, const char *msg, va_list args)</td></tr>
-<tr class="memdesc:aee087c8a7edb0fb5b7e75b9037e34cf7"><td class="mdescLeft"> </td><td class="mdescRight">Creates an error containing the error message from variable argument list. <a href="#aee087c8a7edb0fb5b7e75b9037e34cf7">More...</a><br /></td></tr>
-<tr class="separator:aee087c8a7edb0fb5b7e75b9037e34cf7"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a439338e8e5a7c76a079aca52e16cff79"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a439338e8e5a7c76a079aca52e16cff79">create_error</a> (<a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05f">ErrorCode</a> error_code, const char *function, const char *file, const int line, const char *msg,...)</td></tr>
-<tr class="memdesc:a439338e8e5a7c76a079aca52e16cff79"><td class="mdescLeft"> </td><td class="mdescRight">Creates an error containing the error message. <a href="#a439338e8e5a7c76a079aca52e16cff79">More...</a><br /></td></tr>
-<tr class="separator:a439338e8e5a7c76a079aca52e16cff79"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a0768178b90a30994784fd28c5a89323f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0768178b90a30994784fd28c5a89323f">error</a> (const char *function, const char *file, const int line, const char *msg,...)</td></tr>
-<tr class="memdesc:a0768178b90a30994784fd28c5a89323f"><td class="mdescLeft"> </td><td class="mdescRight">Print an error message then throw an std::runtime_error. <a href="#a0768178b90a30994784fd28c5a89323f">More...</a><br /></td></tr>
-<tr class="separator:a0768178b90a30994784fd28c5a89323f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a49cdbfceec3cb9949d00dbd1a17c5604"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a49cdbfceec3cb9949d00dbd1a17c5604">create_error</a> (<a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05f">ErrorCode</a> error_code, std::string msg)</td></tr>
+<tr class="memdesc:a49cdbfceec3cb9949d00dbd1a17c5604"><td class="mdescLeft"> </td><td class="mdescRight">Creates an error containing the error message. <a href="#a49cdbfceec3cb9949d00dbd1a17c5604">More...</a><br /></td></tr>
+<tr class="separator:a49cdbfceec3cb9949d00dbd1a17c5604"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af9b3e9f3ef6409e72c71aeacebf58f3b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af9b3e9f3ef6409e72c71aeacebf58f3b">create_error_msg</a> (<a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05f">ErrorCode</a> error_code, const char *func, const char *file, int line, const char *msg)</td></tr>
+<tr class="memdesc:af9b3e9f3ef6409e72c71aeacebf58f3b"><td class="mdescLeft"> </td><td class="mdescRight">Creates an error and the error message. <a href="#af9b3e9f3ef6409e72c71aeacebf58f3b">More...</a><br /></td></tr>
+<tr class="separator:af9b3e9f3ef6409e72c71aeacebf58f3b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a61e7f5901fd23f6009db8eac1a400be9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a61e7f5901fd23f6009db8eac1a400be9">throw_error</a> (<a class="el" href="classarm__compute_1_1_status.xhtml">Status</a> err)</td></tr>
+<tr class="memdesc:a61e7f5901fd23f6009db8eac1a400be9"><td class="mdescLeft"> </td><td class="mdescRight">Throw an std::runtime_error. <a href="#a61e7f5901fd23f6009db8eac1a400be9">More...</a><br /></td></tr>
+<tr class="separator:a61e7f5901fd23f6009db8eac1a400be9"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a786b9d823a527bb1e30d38f4dbe52d4b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a786b9d823a527bb1e30d38f4dbe52d4b">get_target_from_device</a> ()</td></tr>
<tr class="memdesc:a786b9d823a527bb1e30d38f4dbe52d4b"><td class="mdescLeft"> </td><td class="mdescRight">Helper function to get the GPU target from GLES using GL_RENDERER enum. <a href="#a786b9d823a527bb1e30d38f4dbe52d4b">More...</a><br /></td></tr>
<tr class="separator:a786b9d823a527bb1e30d38f4dbe52d4b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a873b3ac80ed02444a7197210598d09e3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_g_c_kernel.xhtml">GCKernel</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a873b3ac80ed02444a7197210598d09e3">create_opengl_kernel</a> (<a class="el" href="classarm__compute_1_1_g_c_core_runtime_context.xhtml">GCCoreRuntimeContext</a> *ctx, const std::string &kernel_name, const std::set< std::string > &build_opts)</td></tr>
+<tr class="memdesc:a873b3ac80ed02444a7197210598d09e3"><td class="mdescLeft"> </td><td class="mdescRight">Creates an GLES kernel. <a href="#a873b3ac80ed02444a7197210598d09e3">More...</a><br /></td></tr>
+<tr class="separator:a873b3ac80ed02444a7197210598d09e3"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5c7c5fe99682f92e5e09cf62fb02ac91"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5c7c5fe99682f92e5e09cf62fb02ac91">enqueue</a> (<a class="el" href="classarm__compute_1_1_i_g_c_kernel.xhtml">IGCKernel</a> &kernel, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &window, const <a class="el" href="classarm__compute_1_1gles_1_1_n_d_range.xhtml">gles::NDRange</a> &lws=<a class="el" href="classarm__compute_1_1gles_1_1_n_d_range.xhtml">gles::NDRange</a>(1U, 1U, 1U))</td></tr>
<tr class="memdesc:a5c7c5fe99682f92e5e09cf62fb02ac91"><td class="mdescLeft"> </td><td class="mdescRight">Add the kernel to the command queue with the given window. <a href="#a5c7c5fe99682f92e5e09cf62fb02ac91">More...</a><br /></td></tr>
<tr class="separator:a5c7c5fe99682f92e5e09cf62fb02ac91"><td class="memSeparator" colspan="2"> </td></tr>
@@ -3748,6 +3834,9 @@
<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:a519df47124aa903c7de8be2624640c1b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a519df47124aa903c7de8be2624640c1b">convert_negative_axis</a> (<a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &coords, int max_value)</td></tr>
+<tr class="memdesc:a519df47124aa903c7de8be2624640c1b"><td class="mdescLeft"> </td><td class="mdescRight">Convert negative coordinates to positive in the range [0, num_dims_input]. <a href="#a519df47124aa903c7de8be2624640c1b">More...</a><br /></td></tr>
+<tr class="separator:a519df47124aa903c7de8be2624640c1b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7c3d8e17b509d0d18cc7c94b7e0a993d"><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7c3d8e17b509d0d18cc7c94b7e0a993d">get_next_power_two</a> (unsigned int x)</td></tr>
<tr class="memdesc:a7c3d8e17b509d0d18cc7c94b7e0a993d"><td class="mdescLeft"> </td><td class="mdescRight">Given an integer value, this function returns the next power of two. <a href="#a7c3d8e17b509d0d18cc7c94b7e0a993d">More...</a><br /></td></tr>
<tr class="separator:a7c3d8e17b509d0d18cc7c94b7e0a993d"><td class="memSeparator" colspan="2"> </td></tr>
@@ -3764,10 +3853,18 @@
<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:a189eb85a92663706760a7afcc09f77a7"><td class="memTemplParams" colspan="2">template<bool is_bounded_relu> </td></tr>
+<tr class="memitem:a189eb85a92663706760a7afcc09f77a7"><td class="memTemplItemLeft" align="right" valign="top">int8x16_t </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a189eb85a92663706760a7afcc09f77a7">finalize_quantization_symm</a> (int32x4x4_t &in_s32, const int32x4x4_t &result_fixedpoint_multiplier, const int32x4x4_t &result_shift, const int32x4_t &result_offset_after_shift_s32, const int8x16_t &min_s8, const int8x16_t &max_s8)</td></tr>
+<tr class="memdesc:a189eb85a92663706760a7afcc09f77a7"><td class="mdescLeft"> </td><td class="mdescRight">Performs final quantization step on 16 elements for symmetric quantization. <a href="#a189eb85a92663706760a7afcc09f77a7">More...</a><br /></td></tr>
+<tr class="separator:a189eb85a92663706760a7afcc09f77a7"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a86f8bf876974759725e39496be2cc7f9"><td class="memTemplParams" colspan="2">template<bool is_bounded_relu> </td></tr>
<tr class="memitem:a86f8bf876974759725e39496be2cc7f9"><td class="memTemplItemLeft" align="right" valign="top">uint8_t </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a86f8bf876974759725e39496be2cc7f9">finalize_quantization</a> (int32_t in_value, int result_fixedpoint_multiplier, int32_t result_shift, int32_t result_offset_after_shift_s32, uint8_t min_u8, uint8_t max_u8)</td></tr>
<tr class="memdesc:a86f8bf876974759725e39496be2cc7f9"><td class="mdescLeft"> </td><td class="mdescRight">Performs final quantization step on single element. <a href="#a86f8bf876974759725e39496be2cc7f9">More...</a><br /></td></tr>
<tr class="separator:a86f8bf876974759725e39496be2cc7f9"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae83b33be1e3199b67bf22a771eb298a2"><td class="memTemplParams" colspan="2">template<bool is_bounded_relu> </td></tr>
+<tr class="memitem:ae83b33be1e3199b67bf22a771eb298a2"><td class="memTemplItemLeft" align="right" valign="top">int8_t </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae83b33be1e3199b67bf22a771eb298a2">finalize_quantization</a> (int32_t in_value, int result_fixedpoint_multiplier, int32_t result_shift, int32_t result_offset_after_shift_s32, int8_t min_s8, int8_t max_s8)</td></tr>
+<tr class="memdesc:ae83b33be1e3199b67bf22a771eb298a2"><td class="mdescLeft"> </td><td class="mdescRight">Performs final quantization step on single element. <a href="#ae83b33be1e3199b67bf22a771eb298a2">More...</a><br /></td></tr>
+<tr class="separator:ae83b33be1e3199b67bf22a771eb298a2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a485ae62f3ade6c8d33c5c2e85b29c3a7"><td class="memItemLeft" align="right" valign="top">float32x4x2_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a485ae62f3ade6c8d33c5c2e85b29c3a7">vdequantize</a> (const uint8x8_t &qv, const <a class="el" href="structarm__compute_1_1_uniform_quantization_info.xhtml">UniformQuantizationInfo</a> &qi)</td></tr>
<tr class="memdesc:a485ae62f3ade6c8d33c5c2e85b29c3a7"><td class="mdescLeft"> </td><td class="mdescRight">Dequantize a neon vector holding 8 quantized values. <a href="#a485ae62f3ade6c8d33c5c2e85b29c3a7">More...</a><br /></td></tr>
<tr class="separator:a485ae62f3ade6c8d33c5c2e85b29c3a7"><td class="memSeparator" colspan="2"> </td></tr>
@@ -3777,6 +3874,9 @@
<tr class="memitem:afefd32b0cf61750c523e6d15790a561e"><td class="memItemLeft" align="right" valign="top">float32x4x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afefd32b0cf61750c523e6d15790a561e">vdequantize</a> (const uint8x16_t &qv, float scale, int32_t <a class="el" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a>)</td></tr>
<tr class="memdesc:afefd32b0cf61750c523e6d15790a561e"><td class="mdescLeft"> </td><td class="mdescRight">Dequantize following an asymmetric quantization scheme a neon vector holding 16 quantized values. <a href="#afefd32b0cf61750c523e6d15790a561e">More...</a><br /></td></tr>
<tr class="separator:afefd32b0cf61750c523e6d15790a561e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3838d1ee6a765a3b7ff52dc040edf5c0"><td class="memItemLeft" align="right" valign="top">float32x4x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3838d1ee6a765a3b7ff52dc040edf5c0">vdequantize</a> (const int8x16_t &qv, const float32x4x4_t vscale)</td></tr>
+<tr class="memdesc:a3838d1ee6a765a3b7ff52dc040edf5c0"><td class="mdescLeft"> </td><td class="mdescRight">Dequantize following symmetric quantization scheme a neon vector holding 16 quantized values. <a href="#a3838d1ee6a765a3b7ff52dc040edf5c0">More...</a><br /></td></tr>
+<tr class="separator:a3838d1ee6a765a3b7ff52dc040edf5c0"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a496aa10035fdc8a0e86dde37b64f8228"><td class="memItemLeft" align="right" valign="top">float32x4x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a496aa10035fdc8a0e86dde37b64f8228">vdequantize</a> (const int8x16_t &qv, float scale)</td></tr>
<tr class="memdesc:a496aa10035fdc8a0e86dde37b64f8228"><td class="mdescLeft"> </td><td class="mdescRight">Dequantize following a symmetric quantization scheme a neon vector holding 16 quantized values. <a href="#a496aa10035fdc8a0e86dde37b64f8228">More...</a><br /></td></tr>
<tr class="separator:a496aa10035fdc8a0e86dde37b64f8228"><td class="memSeparator" colspan="2"> </td></tr>
@@ -3786,6 +3886,9 @@
<tr class="memitem:a42c040989e7f451dd9f2efa7384b89f6"><td class="memItemLeft" align="right" valign="top">uint8x16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a42c040989e7f451dd9f2efa7384b89f6">vquantize</a> (const float32x4x4_t &qv, const <a class="el" href="structarm__compute_1_1_uniform_quantization_info.xhtml">UniformQuantizationInfo</a> &qi)</td></tr>
<tr class="memdesc:a42c040989e7f451dd9f2efa7384b89f6"><td class="mdescLeft"> </td><td class="mdescRight">Quantize a neon vector holding 16 floating point values. <a href="#a42c040989e7f451dd9f2efa7384b89f6">More...</a><br /></td></tr>
<tr class="separator:a42c040989e7f451dd9f2efa7384b89f6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a687dee3fd66555374211e3ff676ce5f1"><td class="memItemLeft" align="right" valign="top">uint16x8x2_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a687dee3fd66555374211e3ff676ce5f1">vquantize_qasymm16</a> (const float32x4x4_t &qv, const <a class="el" href="structarm__compute_1_1_uniform_quantization_info.xhtml">UniformQuantizationInfo</a> &qi)</td></tr>
+<tr class="memdesc:a687dee3fd66555374211e3ff676ce5f1"><td class="mdescLeft"> </td><td class="mdescRight">Quantize to QASYMM16 a neon vector holding 16 floating point values. <a href="#a687dee3fd66555374211e3ff676ce5f1">More...</a><br /></td></tr>
+<tr class="separator:a687dee3fd66555374211e3ff676ce5f1"><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>
@@ -3877,6 +3980,9 @@
<tr class="memitem:aa6465367a67af2bae4ca46750231dae0"><td class="memItemLeft" align="right" valign="top">float32x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa6465367a67af2bae4ca46750231dae0">vpowq_f32</a> (float32x4_t val, float32x4_t n)</td></tr>
<tr class="memdesc:aa6465367a67af2bae4ca46750231dae0"><td class="mdescLeft"> </td><td class="mdescRight">Calculate n power of a number. <a href="#aa6465367a67af2bae4ca46750231dae0">More...</a><br /></td></tr>
<tr class="separator:aa6465367a67af2bae4ca46750231dae0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a77e02c19b498c3ff4ee373b0825cfd19"><td class="memItemLeft" align="right" valign="top">int32x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a77e02c19b498c3ff4ee373b0825cfd19">rounding_divide_by_pow2</a> (int32x4_t x, int32x4_t exponent)</td></tr>
+<tr class="memdesc:a77e02c19b498c3ff4ee373b0825cfd19"><td class="mdescLeft"> </td><td class="mdescRight">Round to the nearest division by a power-of-two using exponent. <a href="#a77e02c19b498c3ff4ee373b0825cfd19">More...</a><br /></td></tr>
+<tr class="separator:a77e02c19b498c3ff4ee373b0825cfd19"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5e28a3911204ac952601f512c82b48f1"><td class="memItemLeft" align="right" valign="top">int32x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5e28a3911204ac952601f512c82b48f1">rounding_divide_by_pow2</a> (int32x4_t x, int exponent)</td></tr>
<tr class="memdesc:a5e28a3911204ac952601f512c82b48f1"><td class="mdescLeft"> </td><td class="mdescRight">Round to the nearest division by a power-of-two using exponent. <a href="#a5e28a3911204ac952601f512c82b48f1">More...</a><br /></td></tr>
<tr class="separator:a5e28a3911204ac952601f512c82b48f1"><td class="memSeparator" colspan="2"> </td></tr>
@@ -3922,32 +4028,38 @@
<tr class="memdesc:a7b0d2413cd8bcca4ec5f8326bd227773"><td class="mdescLeft"> </td><td class="mdescRight">Check whether two quantization info are not equal. <a href="#a7b0d2413cd8bcca4ec5f8326bd227773">More...</a><br /></td></tr>
<tr class="separator:a7b0d2413cd8bcca4ec5f8326bd227773"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a25591070cf041aff512719050c39e5ee"><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a25591070cf041aff512719050c39e5ee">quantize_qasymm8</a> (float value, const <a class="el" href="structarm__compute_1_1_uniform_quantization_info.xhtml">UniformQuantizationInfo</a> &qinfo, <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a> rounding_policy=<a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95">RoundingPolicy::TO_NEAREST_UP</a>)</td></tr>
-<tr class="memdesc:a25591070cf041aff512719050c39e5ee"><td class="mdescLeft"> </td><td class="mdescRight">Quantize a value given a asymmetric quantization scheme. <a href="#a25591070cf041aff512719050c39e5ee">More...</a><br /></td></tr>
+<tr class="memdesc:a25591070cf041aff512719050c39e5ee"><td class="mdescLeft"> </td><td class="mdescRight">Quantize a value given a 8-bit asymmetric quantization scheme. <a href="#a25591070cf041aff512719050c39e5ee">More...</a><br /></td></tr>
<tr class="separator:a25591070cf041aff512719050c39e5ee"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5e46c0c81f4ee96218efbc399de1d2d1"><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5e46c0c81f4ee96218efbc399de1d2d1">quantize_qasymm8</a> (float value, const <a class="el" href="classarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> &qinfo, <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a> rounding_policy=<a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95">RoundingPolicy::TO_NEAREST_UP</a>)</td></tr>
-<tr class="memdesc:a5e46c0c81f4ee96218efbc399de1d2d1"><td class="mdescLeft"> </td><td class="mdescRight">Quantize a value given a asymmetric quantization scheme. <a href="#a5e46c0c81f4ee96218efbc399de1d2d1">More...</a><br /></td></tr>
+<tr class="memdesc:a5e46c0c81f4ee96218efbc399de1d2d1"><td class="mdescLeft"> </td><td class="mdescRight">Quantize a value given a 8-bit asymmetric quantization scheme. <a href="#a5e46c0c81f4ee96218efbc399de1d2d1">More...</a><br /></td></tr>
<tr class="separator:a5e46c0c81f4ee96218efbc399de1d2d1"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aea6dad9b7cd5d5028a50e2aceafa7d1d"><td class="memItemLeft" align="right" valign="top">int8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aea6dad9b7cd5d5028a50e2aceafa7d1d">quantize_qsymm8</a> (float value, const <a class="el" href="classarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> &qinfo)</td></tr>
-<tr class="memdesc:aea6dad9b7cd5d5028a50e2aceafa7d1d"><td class="mdescLeft"> </td><td class="mdescRight">Quantize a value given a symmetric quantization scheme. <a href="#aea6dad9b7cd5d5028a50e2aceafa7d1d">More...</a><br /></td></tr>
+<tr class="memdesc:aea6dad9b7cd5d5028a50e2aceafa7d1d"><td class="mdescLeft"> </td><td class="mdescRight">Quantize a value given a 8-bit symmetric quantization scheme. <a href="#aea6dad9b7cd5d5028a50e2aceafa7d1d">More...</a><br /></td></tr>
<tr class="separator:aea6dad9b7cd5d5028a50e2aceafa7d1d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:adcbb8a7cd81427846571f9bef039f953"><td class="memItemLeft" align="right" valign="top">int8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adcbb8a7cd81427846571f9bef039f953">quantize_qsymm8_per_channel</a> (float value, const <a class="el" href="classarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> &qinfo, size_t channel_id=0)</td></tr>
+<tr class="memdesc:adcbb8a7cd81427846571f9bef039f953"><td class="mdescLeft"> </td><td class="mdescRight">Quantize a value given a 8-bit symmetric per channel quantization scheme. <a href="#adcbb8a7cd81427846571f9bef039f953">More...</a><br /></td></tr>
+<tr class="separator:adcbb8a7cd81427846571f9bef039f953"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a34725aa0412e6cc99193ceb6c8a8e439"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a34725aa0412e6cc99193ceb6c8a8e439">dequantize_qasymm8</a> (uint8_t value, const <a class="el" href="structarm__compute_1_1_uniform_quantization_info.xhtml">UniformQuantizationInfo</a> &qinfo)</td></tr>
-<tr class="memdesc:a34725aa0412e6cc99193ceb6c8a8e439"><td class="mdescLeft"> </td><td class="mdescRight">Dequantize a value given a asymmetric quantization scheme. <a href="#a34725aa0412e6cc99193ceb6c8a8e439">More...</a><br /></td></tr>
+<tr class="memdesc:a34725aa0412e6cc99193ceb6c8a8e439"><td class="mdescLeft"> </td><td class="mdescRight">Dequantize a value given a 8-bit asymmetric quantization scheme. <a href="#a34725aa0412e6cc99193ceb6c8a8e439">More...</a><br /></td></tr>
<tr class="separator:a34725aa0412e6cc99193ceb6c8a8e439"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aca1660b5409625f26c5e40683e2270d8"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aca1660b5409625f26c5e40683e2270d8">dequantize_qasymm8</a> (uint8_t value, const <a class="el" href="classarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> &qinfo)</td></tr>
-<tr class="memdesc:aca1660b5409625f26c5e40683e2270d8"><td class="mdescLeft"> </td><td class="mdescRight">Dequantize a value given a asymmetric quantization scheme. <a href="#aca1660b5409625f26c5e40683e2270d8">More...</a><br /></td></tr>
+<tr class="memdesc:aca1660b5409625f26c5e40683e2270d8"><td class="mdescLeft"> </td><td class="mdescRight">Dequantize a value given a 8-bit asymmetric quantization scheme. <a href="#aca1660b5409625f26c5e40683e2270d8">More...</a><br /></td></tr>
<tr class="separator:aca1660b5409625f26c5e40683e2270d8"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab8005b943e23486a2000a7966d664df2"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab8005b943e23486a2000a7966d664df2">dequantize</a> (uint8_t value, float scale, int32_t <a class="el" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a>)</td></tr>
-<tr class="memdesc:ab8005b943e23486a2000a7966d664df2"><td class="mdescLeft"> </td><td class="mdescRight">Dequantize a value given an asymmetric quantization scheme. <a href="#ab8005b943e23486a2000a7966d664df2">More...</a><br /></td></tr>
+<tr class="memdesc:ab8005b943e23486a2000a7966d664df2"><td class="mdescLeft"> </td><td class="mdescRight">Dequantize a value given an 8-bit asymmetric quantization scheme. <a href="#ab8005b943e23486a2000a7966d664df2">More...</a><br /></td></tr>
<tr class="separator:ab8005b943e23486a2000a7966d664df2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:af7586ba11d82cc0232d4246a61a4a4f3"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af7586ba11d82cc0232d4246a61a4a4f3">dequantize_qsymm8</a> (int8_t value, const <a class="el" href="structarm__compute_1_1_uniform_quantization_info.xhtml">UniformQuantizationInfo</a> &qinfo)</td></tr>
-<tr class="memdesc:af7586ba11d82cc0232d4246a61a4a4f3"><td class="mdescLeft"> </td><td class="mdescRight">Dequantize a value given a symmetric quantization scheme. <a href="#af7586ba11d82cc0232d4246a61a4a4f3">More...</a><br /></td></tr>
+<tr class="memdesc:af7586ba11d82cc0232d4246a61a4a4f3"><td class="mdescLeft"> </td><td class="mdescRight">Dequantize a value given a 8-bit symmetric quantization scheme. <a href="#af7586ba11d82cc0232d4246a61a4a4f3">More...</a><br /></td></tr>
<tr class="separator:af7586ba11d82cc0232d4246a61a4a4f3"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa29442a61be1fbce3b22c28f403acef2"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa29442a61be1fbce3b22c28f403acef2">dequantize</a> (int8_t value, float scale)</td></tr>
-<tr class="memdesc:aa29442a61be1fbce3b22c28f403acef2"><td class="mdescLeft"> </td><td class="mdescRight">Dequantize a value given a symmetric quantization scheme. <a href="#aa29442a61be1fbce3b22c28f403acef2">More...</a><br /></td></tr>
+<tr class="memdesc:aa29442a61be1fbce3b22c28f403acef2"><td class="mdescLeft"> </td><td class="mdescRight">Dequantize a value given a 8-bit symmetric quantization scheme. <a href="#aa29442a61be1fbce3b22c28f403acef2">More...</a><br /></td></tr>
<tr class="separator:aa29442a61be1fbce3b22c28f403acef2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a22c3c5e2d63814320440a3ec9d73419c"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a22c3c5e2d63814320440a3ec9d73419c">dequantize</a> (int16_t value, float scale)</td></tr>
-<tr class="memdesc:a22c3c5e2d63814320440a3ec9d73419c"><td class="mdescLeft"> </td><td class="mdescRight">Dequantize a value given a symmetric quantization scheme. <a href="#a22c3c5e2d63814320440a3ec9d73419c">More...</a><br /></td></tr>
+<tr class="memdesc:a22c3c5e2d63814320440a3ec9d73419c"><td class="mdescLeft"> </td><td class="mdescRight">Dequantize a value given a 16-bit symmetric quantization scheme. <a href="#a22c3c5e2d63814320440a3ec9d73419c">More...</a><br /></td></tr>
<tr class="separator:a22c3c5e2d63814320440a3ec9d73419c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:acf7db09d2dff587cd58187ed58eeec68"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#acf7db09d2dff587cd58187ed58eeec68">dequantize</a> (uint16_t value, float scale, int32_t <a class="el" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a>)</td></tr>
+<tr class="memdesc:acf7db09d2dff587cd58187ed58eeec68"><td class="mdescLeft"> </td><td class="mdescRight">Dequantize a value given a 16-bit asymmetric quantization scheme. <a href="#acf7db09d2dff587cd58187ed58eeec68">More...</a><br /></td></tr>
+<tr class="separator:acf7db09d2dff587cd58187ed58eeec68"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:abd9a9e4bfba3b2e6a35099618122d38e"><td class="memItemLeft" align="right" valign="top">int16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abd9a9e4bfba3b2e6a35099618122d38e">quantize_qsymm16</a> (float value, const <a class="el" href="structarm__compute_1_1_uniform_quantization_info.xhtml">UniformQuantizationInfo</a> &qinfo, <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a> rounding_policy=<a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95">RoundingPolicy::TO_NEAREST_UP</a>)</td></tr>
<tr class="memdesc:abd9a9e4bfba3b2e6a35099618122d38e"><td class="mdescLeft"> </td><td class="mdescRight">Quantize a value given a 16-bit symmetric quantization scheme. <a href="#abd9a9e4bfba3b2e6a35099618122d38e">More...</a><br /></td></tr>
<tr class="separator:abd9a9e4bfba3b2e6a35099618122d38e"><td class="memSeparator" colspan="2"> </td></tr>
@@ -3960,6 +4072,18 @@
<tr class="memitem:aae7ed4b777e2220a1959b79a7834042c"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aae7ed4b777e2220a1959b79a7834042c">dequantize_qsymm16</a> (int16_t value, const <a class="el" href="classarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> &qinfo)</td></tr>
<tr class="memdesc:aae7ed4b777e2220a1959b79a7834042c"><td class="mdescLeft"> </td><td class="mdescRight">Dequantize a value given a 16-bit symmetric quantization scheme. <a href="#aae7ed4b777e2220a1959b79a7834042c">More...</a><br /></td></tr>
<tr class="separator:aae7ed4b777e2220a1959b79a7834042c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3fcdebf0b2654721ecdfa39b6bbd542d"><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3fcdebf0b2654721ecdfa39b6bbd542d">quantize_qasymm16</a> (float value, const <a class="el" href="structarm__compute_1_1_uniform_quantization_info.xhtml">UniformQuantizationInfo</a> &qinfo, <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a> rounding_policy=<a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95">RoundingPolicy::TO_NEAREST_UP</a>)</td></tr>
+<tr class="memdesc:a3fcdebf0b2654721ecdfa39b6bbd542d"><td class="mdescLeft"> </td><td class="mdescRight">Quantize a value given a 16-bit asymmetric quantization scheme. <a href="#a3fcdebf0b2654721ecdfa39b6bbd542d">More...</a><br /></td></tr>
+<tr class="separator:a3fcdebf0b2654721ecdfa39b6bbd542d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a85310967abb447a1cb1167ba8f73eab0"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a85310967abb447a1cb1167ba8f73eab0">dequantize_qasymm16</a> (uint16_t value, const <a class="el" href="structarm__compute_1_1_uniform_quantization_info.xhtml">UniformQuantizationInfo</a> &qinfo)</td></tr>
+<tr class="memdesc:a85310967abb447a1cb1167ba8f73eab0"><td class="mdescLeft"> </td><td class="mdescRight">Dequantize a value given a 16-bit asymmetric quantization scheme. <a href="#a85310967abb447a1cb1167ba8f73eab0">More...</a><br /></td></tr>
+<tr class="separator:a85310967abb447a1cb1167ba8f73eab0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2ce67542f90c3e1adc608037ccdf9bdc"><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2ce67542f90c3e1adc608037ccdf9bdc">quantize_qasymm16</a> (float value, const <a class="el" href="classarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> &qinfo)</td></tr>
+<tr class="memdesc:a2ce67542f90c3e1adc608037ccdf9bdc"><td class="mdescLeft"> </td><td class="mdescRight">Quantize a value given a 16-bit asymmetric quantization scheme. <a href="#a2ce67542f90c3e1adc608037ccdf9bdc">More...</a><br /></td></tr>
+<tr class="separator:a2ce67542f90c3e1adc608037ccdf9bdc"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1b09fc16ab06a02188334c4b1f43e2ff"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1b09fc16ab06a02188334c4b1f43e2ff">dequantize_qasymm16</a> (uint16_t value, const <a class="el" href="classarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> &qinfo)</td></tr>
+<tr class="memdesc:a1b09fc16ab06a02188334c4b1f43e2ff"><td class="mdescLeft"> </td><td class="mdescRight">Dequantize a value given a 16-bit asymmetric quantization scheme. <a href="#a1b09fc16ab06a02188334c4b1f43e2ff">More...</a><br /></td></tr>
+<tr class="separator:a1b09fc16ab06a02188334c4b1f43e2ff"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aaae2b6b1c3f4404121346a4c27b22647"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aaae2b6b1c3f4404121346a4c27b22647">round</a> (float x, <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a> rounding_policy)</td></tr>
<tr class="memdesc:aaae2b6b1c3f4404121346a4c27b22647"><td class="mdescLeft"> </td><td class="mdescRight">Return a rounded value of x. <a href="#aaae2b6b1c3f4404121346a4c27b22647">More...</a><br /></td></tr>
<tr class="separator:aaae2b6b1c3f4404121346a4c27b22647"><td class="memSeparator" colspan="2"> </td></tr>
@@ -3976,7 +4100,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-2019 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>
@@ -4039,12 +4163,15 @@
<tr class="memitem:aa6d4f0b9fedd979c5b768f9b34fda9f6"><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#aa6d4f0b9fedd979c5b768f9b34fda9f6">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>, const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &dilation=<a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a>(1u, 1u), const DimensionRoundingType &rounding_type=DimensionRoundingType::FLOOR)</td></tr>
<tr class="memdesc:aa6d4f0b9fedd979c5b768f9b34fda9f6"><td class="mdescLeft"> </td><td class="mdescRight">Calculate padding requirements in case of SAME padding. <a href="#aa6d4f0b9fedd979c5b768f9b34fda9f6">More...</a><br /></td></tr>
<tr class="separator:aa6d4f0b9fedd979c5b768f9b34fda9f6"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a9491bea9e3fcf8ac4a7cf79be64cc765"><td class="memItemLeft" align="right" valign="top">std::pair< unsigned int, unsigned int > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9491bea9e3fcf8ac4a7cf79be64cc765">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:a9491bea9e3fcf8ac4a7cf79be64cc765"><td class="mdescLeft"> </td><td class="mdescRight">Returns expected width and height of the deconvolution's output tensor. <a href="#a9491bea9e3fcf8ac4a7cf79be64cc765">More...</a><br /></td></tr>
-<tr class="separator:a9491bea9e3fcf8ac4a7cf79be64cc765"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1a0b7ff66a946db6252d2a4c40c04fa7"><td class="memItemLeft" align="right" valign="top">std::pair< unsigned int, unsigned int > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1a0b7ff66a946db6252d2a4c40c04fa7">deconvolution_output_dimensions</a> (unsigned int in_width, unsigned int in_height, unsigned int kernel_width, unsigned int kernel_height, const <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> &pad_stride_info)</td></tr>
+<tr class="memdesc:a1a0b7ff66a946db6252d2a4c40c04fa7"><td class="mdescLeft"> </td><td class="mdescRight">Returns expected width and height of the deconvolution's output tensor. <a href="#a1a0b7ff66a946db6252d2a4c40c04fa7">More...</a><br /></td></tr>
+<tr class="separator:a1a0b7ff66a946db6252d2a4c40c04fa7"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:abbe3399a66c35c3c353030cd0a84c936"><td class="memItemLeft" align="right" valign="top">std::pair< unsigned int, unsigned int > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abbe3399a66c35c3c353030cd0a84c936">scaled_dimensions</a> (unsigned int width, unsigned int height, unsigned int kernel_width, unsigned int kernel_height, const <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> &pad_stride_info, const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &dilation=<a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a>(1U, 1U))</td></tr>
<tr class="memdesc:abbe3399a66c35c3c353030cd0a84c936"><td class="mdescLeft"> </td><td class="mdescRight">Returns expected width and height of output scaled tensor depending on dimensions rounding mode. <a href="#abbe3399a66c35c3c353030cd0a84c936">More...</a><br /></td></tr>
<tr class="separator:abbe3399a66c35c3c353030cd0a84c936"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a28029771f7c2cd8bbe2855303d38f71f"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a28029771f7c2cd8bbe2855303d38f71f">needs_serialized_reduction</a> (<a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45b">ReductionOperation</a> op, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt, unsigned int axis)</td></tr>
+<tr class="memdesc:a28029771f7c2cd8bbe2855303d38f71f"><td class="mdescLeft"> </td><td class="mdescRight">Check if the given reduction operation should be handled in a serial way. <a href="#a28029771f7c2cd8bbe2855303d38f71f">More...</a><br /></td></tr>
+<tr class="separator:a28029771f7c2cd8bbe2855303d38f71f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a8b82da7b5e0f6192f415ac347c9e0555"><td class="memItemLeft" align="right" valign="top">const std::string & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8b82da7b5e0f6192f415ac347c9e0555">string_from_format</a> (<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> format)</td></tr>
<tr class="memdesc:a8b82da7b5e0f6192f415ac347c9e0555"><td class="mdescLeft"> </td><td class="mdescRight">Convert a tensor format into a string. <a href="#a8b82da7b5e0f6192f415ac347c9e0555">More...</a><br /></td></tr>
<tr class="separator:a8b82da7b5e0f6192f415ac347c9e0555"><td class="memSeparator" colspan="2"> </td></tr>
@@ -4099,6 +4226,9 @@
<tr class="memitem:a922cd85c475c0d725fc030116ea57979"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a922cd85c475c0d725fc030116ea57979">is_data_type_quantized_symmetric</a> (<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt)</td></tr>
<tr class="memdesc:a922cd85c475c0d725fc030116ea57979"><td class="mdescLeft"> </td><td class="mdescRight">Check if a given data type is of symmetric quantized type. <a href="#a922cd85c475c0d725fc030116ea57979">More...</a><br /></td></tr>
<tr class="separator:a922cd85c475c0d725fc030116ea57979"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a84437d80241f6a31e1a07c231ee8e3ac"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a84437d80241f6a31e1a07c231ee8e3ac">is_data_type_quantized_per_channel</a> (<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt)</td></tr>
+<tr class="memdesc:a84437d80241f6a31e1a07c231ee8e3ac"><td class="mdescLeft"> </td><td class="mdescRight">Check if a given data type is of per channel type. <a href="#a84437d80241f6a31e1a07c231ee8e3ac">More...</a><br /></td></tr>
+<tr class="separator:a84437d80241f6a31e1a07c231ee8e3ac"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a9cd394c15b73f79ca1d98f5328064be2"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9cd394c15b73f79ca1d98f5328064be2">float_to_string_with_full_precision</a> (float val)</td></tr>
<tr class="memdesc:a9cd394c15b73f79ca1d98f5328064be2"><td class="mdescLeft"> </td><td class="mdescRight">Create a string with the float in full precision. <a href="#a9cd394c15b73f79ca1d98f5328064be2">More...</a><br /></td></tr>
<tr class="separator:a9cd394c15b73f79ca1d98f5328064be2"><td class="memSeparator" colspan="2"> </td></tr>
@@ -4248,12 +4378,12 @@
<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="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>
-<tr class="separator:a307a55b07dc70dc9177ff26543b1c66f"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a7cec6ed141f3eb1d6330533a90bba9e1"><td class="memItemLeft" align="right" valign="top">inline ::std::istream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7cec6ed141f3eb1d6330533a90bba9e1">operator>></a> (::std::istream &stream, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a> &data_type)</td></tr>
-<tr class="memdesc:a7cec6ed141f3eb1d6330533a90bba9e1"><td class="mdescLeft"> </td><td class="mdescRight">Input Stream operator for <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>. <a href="#a7cec6ed141f3eb1d6330533a90bba9e1">More...</a><br /></td></tr>
-<tr class="separator:a7cec6ed141f3eb1d6330533a90bba9e1"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a64e6501d564e950c3d527fb6b1f36f28"><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#a64e6501d564e950c3d527fb6b1f36f28">data_type_from_name</a> (const std::string &name)</td></tr>
+<tr class="memdesc:a64e6501d564e950c3d527fb6b1f36f28"><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="#a64e6501d564e950c3d527fb6b1f36f28">More...</a><br /></td></tr>
+<tr class="separator:a64e6501d564e950c3d527fb6b1f36f28"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a641870b1f0ca7aaaa73c7a536c1e824b"><td class="memItemLeft" align="right" valign="top">inline ::std::istream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a641870b1f0ca7aaaa73c7a536c1e824b">operator>></a> (::std::istream &stream, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a> &data_type)</td></tr>
+<tr class="memdesc:a641870b1f0ca7aaaa73c7a536c1e824b"><td class="mdescLeft"> </td><td class="mdescRight">Input Stream operator for <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>. <a href="#a641870b1f0ca7aaaa73c7a536c1e824b">More...</a><br /></td></tr>
+<tr class="separator:a641870b1f0ca7aaaa73c7a536c1e824b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a834b76c7d21af898f39def3b787d7530"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">arm_compute::DataLayout</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a834b76c7d21af898f39def3b787d7530">data_layout_from_name</a> (const std::string &name)</td></tr>
<tr class="memdesc:a834b76c7d21af898f39def3b787d7530"><td class="mdescLeft"> </td><td class="mdescRight">Converts a string to a strong types enumeration <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>. <a href="#a834b76c7d21af898f39def3b787d7530">More...</a><br /></td></tr>
<tr class="separator:a834b76c7d21af898f39def3b787d7530"><td class="memSeparator" colspan="2"> </td></tr>
@@ -4263,6 +4393,9 @@
<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:af4cf1da2467d59160492d2095c66ea26"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af4cf1da2467d59160492d2095c66ea26">schedule_kernel_on_ctx</a> (<a class="el" href="classarm__compute_1_1_c_l_runtime_context.xhtml">CLRuntimeContext</a> *ctx, <a class="el" href="classarm__compute_1_1_i_c_l_kernel.xhtml">ICLKernel</a> *kernel, bool flush=true)</td></tr>
+<tr class="memdesc:af4cf1da2467d59160492d2095c66ea26"><td class="mdescLeft"> </td><td class="mdescRight">Schedules a kernel using the context if not nullptr else uses the legacy scheduling flow. <a href="#af4cf1da2467d59160492d2095c66ea26">More...</a><br /></td></tr>
+<tr class="separator:af4cf1da2467d59160492d2095c66ea26"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa9c9e5cad47e8136f7136e94cec8b812"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ae76ef5bd3ad69f7380ebb3ac6033ec5c">CLTunerMode</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa9c9e5cad47e8136f7136e94cec8b812">tuner_mode_from_name</a> (const std::string &name)</td></tr>
<tr class="memdesc:aa9c9e5cad47e8136f7136e94cec8b812"><td class="mdescLeft"> </td><td class="mdescRight">Converts a string to a strong types enumeration <a class="el" href="namespacearm__compute.xhtml#ae76ef5bd3ad69f7380ebb3ac6033ec5c">CLTunerMode</a>. <a href="#aa9c9e5cad47e8136f7136e94cec8b812">More...</a><br /></td></tr>
<tr class="separator:aa9c9e5cad47e8136f7136e94cec8b812"><td class="memSeparator" colspan="2"> </td></tr>
@@ -4275,18 +4408,32 @@
<tr class="memitem:a9a9fa44b29bc17746a0b486626a76e0a"><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9a9fa44b29bc17746a0b486626a76e0a">get_threads_hint</a> ()</td></tr>
<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:a7a693978af5e57f16ba933439da00aeb"><td class="memItemLeft" align="right" valign="top">std::tuple< EGLDisplay, EGLContext, EGLBoolean > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7a693978af5e57f16ba933439da00aeb">create_opengl_display_and_context</a> ()</td></tr>
+<tr class="memdesc:a7a693978af5e57f16ba933439da00aeb"><td class="mdescLeft"> </td><td class="mdescRight">This function creates an OpenGL-ES context and a display. <a href="#a7a693978af5e57f16ba933439da00aeb">More...</a><br /></td></tr>
+<tr class="separator:a7a693978af5e57f16ba933439da00aeb"><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="separator:a192c7cf59b34ae925eb1c8c315a06225"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aad377315df05925a2c720f50a20917ba"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aad377315df05925a2c720f50a20917ba">schedule_kernel_on_ctx</a> (<a class="el" href="classarm__compute_1_1_i_runtime_context.xhtml">IRuntimeContext</a> *ctx, <a class="el" href="classarm__compute_1_1_i_c_p_p_kernel.xhtml">ICPPKernel</a> *kernel, const <a class="el" href="classarm__compute_1_1_i_scheduler_1_1_hints.xhtml">IScheduler::Hints</a> &hints)</td></tr>
+<tr class="memdesc:aad377315df05925a2c720f50a20917ba"><td class="mdescLeft"> </td><td class="mdescRight">Schedules a kernel using the context if not nullptr else uses the legacy scheduling flow. <a href="#aad377315df05925a2c720f50a20917ba">More...</a><br /></td></tr>
+<tr class="separator:aad377315df05925a2c720f50a20917ba"><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>
<tr class="memitem:a69c96727fe92b1ad1b07da3117c73c76"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a69c96727fe92b1ad1b07da3117c73c76">IFloatFlip</a> (int32_t val)</td></tr>
<tr class="separator:a69c96727fe92b1ad1b07da3117c73c76"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ad6630777dc2d315531f1e0b02491051f"><td class="memItemLeft" align="right" valign="top">std::pair< <a class="el" href="classarm__compute_1_1_status.xhtml">Status</a>, <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad6630777dc2d315531f1e0b02491051f">validate_and_configure_window</a> (<a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *input, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *weights, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *biases, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *output, const <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> &conv_info, unsigned int depth_multiplier, const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &dilation)</td></tr>
-<tr class="separator:ad6630777dc2d315531f1e0b02491051f"><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:ad04c9c3a53fde2e48e97bbec5dcacd9c"><td class="memTemplParams" colspan="2">template<typename input_data_type , DataLayout data_layout> </td></tr>
+<tr class="memitem:ad04c9c3a53fde2e48e97bbec5dcacd9c"><td class="memTemplItemLeft" align="right" valign="top">input_data_type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad04c9c3a53fde2e48e97bbec5dcacd9c">roi_align_1x1</a> (const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *input, unsigned int roi_batch, float region_start_x, float bin_size_x, int grid_size_x, float region_end_x, float region_start_y, float bin_size_y, int grid_size_y, float region_end_y, int pz)</td></tr>
+<tr class="memdesc:ad04c9c3a53fde2e48e97bbec5dcacd9c"><td class="mdescLeft"> </td><td class="mdescRight">Average pooling over an aligned window. <a href="#ad04c9c3a53fde2e48e97bbec5dcacd9c">More...</a><br /></td></tr>
+<tr class="separator:ad04c9c3a53fde2e48e97bbec5dcacd9c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2d37af8393d4b6b8d0c3440a6f1b386b"><td class="memTemplParams" colspan="2">template<typename input_data_type , DataLayout data_layout> </td></tr>
+<tr class="memitem:a2d37af8393d4b6b8d0c3440a6f1b386b"><td class="memTemplItemLeft" align="right" valign="top">input_data_type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2d37af8393d4b6b8d0c3440a6f1b386b">roi_align_1x1_qasymm8</a> (const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *input, unsigned int roi_batch, float region_start_x, float bin_size_x, int grid_size_x, float region_end_x, float region_start_y, float bin_size_y, int grid_size_y, float region_end_y, int pz, const <a class="el" href="classarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> &out_qinfo)</td></tr>
+<tr class="memdesc:a2d37af8393d4b6b8d0c3440a6f1b386b"><td class="mdescLeft"> </td><td class="mdescRight">Average pooling over an aligned window. <a href="#a2d37af8393d4b6b8d0c3440a6f1b386b">More...</a><br /></td></tr>
+<tr class="separator:a2d37af8393d4b6b8d0c3440a6f1b386b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a499821e1decafea1f536bf81b1b554ed"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a499821e1decafea1f536bf81b1b554ed">compute_region_coordinate</a> (int p, float bin_size, float roi_anchor, float max_value)</td></tr>
+<tr class="separator:a499821e1decafea1f536bf81b1b554ed"><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>
@@ -4546,6 +4693,12 @@
<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:a581e2eb4d2cc7f4f667033b87b276b98"><td class="memItemLeft" align="right" valign="top">float32x4x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a581e2eb4d2cc7f4f667033b87b276b98">vsub_n</a> (float32x4x4_t a, float val)</td></tr>
+<tr class="separator:a581e2eb4d2cc7f4f667033b87b276b98"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a4feaaa70771629f4b5dcf3b219c8b647"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4feaaa70771629f4b5dcf3b219c8b647">validate</a> (const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *scores_in, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *boxes_in, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *batch_splits_in, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *scores_out, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *boxes_out, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *classes, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *batch_splits_out, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *keeps, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *keeps_size, const <a class="el" href="classarm__compute_1_1_box_n_m_s_limit_info.xhtml">BoxNMSLimitInfo</a> info)</td></tr>
+<tr class="separator:a4feaaa70771629f4b5dcf3b219c8b647"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa88c74fbf9be5e1f2afd2cb81e371287"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa88c74fbf9be5e1f2afd2cb81e371287">validate_config</a> (const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *input, const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &reduction_axis, bool keep_dims, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *output)</td></tr>
+<tr class="separator:aa88c74fbf9be5e1f2afd2cb81e371287"><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>
@@ -4944,10 +5097,10 @@
<tr class="separator:a13d15bf68bbaf481be9ba3988b1cf779"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Copyright (c) 2017-2018 ARM Limited. </p>
+<div class="textblock"><p>Copyright (c) 2017-2019 ARM Limited. </p>
<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) 2019 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>
@@ -4970,7 +5123,7 @@
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00948">948</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#l00958">958</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
</div>
</div>
@@ -5258,7 +5411,7 @@
<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#l00082">82</a> of file <a class="el" href="_c_l_tensor_8h_source.xhtml">CLTensor.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_c_l_tensor_8h_source.xhtml#l00104">104</a> of file <a class="el" href="_c_l_tensor_8h_source.xhtml">CLTensor.h</a>.</p>
</div>
</div>
@@ -5370,21 +5523,19 @@
</div>
</div>
-<a id="ac87d48489667d7ff7fc4cc7d0d12c52e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac87d48489667d7ff7fc4cc7d0d12c52e">◆ </a></span>CLMemoryGroup</h2>
+<a id="aa02883dd85b75a6eb0d4878f266908dd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa02883dd85b75a6eb0d4878f266908dd">◆ </a></span>CLLogSoftmaxLayer</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">typedef <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> > <a class="el" href="namespacearm__compute.xhtml#ac87d48489667d7ff7fc4cc7d0d12c52e">CLMemoryGroup</a></td>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#aa02883dd85b75a6eb0d4878f266908dd">CLLogSoftmaxLayer</a> = <a class="el" href="classarm__compute_1_1_c_l_softmax_layer_generic.xhtml">CLSoftmaxLayerGeneric</a><true></td>
</tr>
</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 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>
+<p class="definition">Definition at line <a class="el" href="_c_l_softmax_layer_8h_source.xhtml#l00115">115</a> of file <a class="el" href="_c_l_softmax_layer_8h_source.xhtml">CLSoftmaxLayer.h</a>.</p>
</div>
</div>
@@ -5550,6 +5701,22 @@
</div>
</div>
+<a id="a30ce3b40394b4f2d1e4cc31db7183425"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a30ce3b40394b4f2d1e4cc31db7183425">◆ </a></span>CLSoftmaxLayer</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a30ce3b40394b4f2d1e4cc31db7183425">CLSoftmaxLayer</a> = <a class="el" href="classarm__compute_1_1_c_l_softmax_layer_generic.xhtml">CLSoftmaxLayerGeneric</a><false></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_c_l_softmax_layer_8h_source.xhtml#l00114">114</a> of file <a class="el" href="_c_l_softmax_layer_8h_source.xhtml">CLSoftmaxLayer.h</a>.</p>
+
+</div>
+</div>
<a id="a7b4c4a79c73a3f85ba89aff03fddefa7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7b4c4a79c73a3f85ba89aff03fddefa7">◆ </a></span>CLUInt16Array</h2>
@@ -5758,23 +5925,7 @@
<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>
-
-</div>
-</div>
-<a id="abb079bea3cd2a65a7018eab99392747e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#abb079bea3cd2a65a7018eab99392747e">◆ </a></span>GCMemoryGroup</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">typedef <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> > <a class="el" href="namespacearm__compute.xhtml#abb079bea3cd2a65a7018eab99392747e">GCMemoryGroup</a></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="_g_c_memory_group_8h_source.xhtml#l00035">35</a> of file <a class="el" href="_g_c_memory_group_8h_source.xhtml">GCMemoryGroup.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_g_c_tensor_8h_source.xhtml#l00104">104</a> of file <a class="el" href="_g_c_tensor_8h_source.xhtml">GCTensor.h</a>.</p>
</div>
</div>
@@ -6224,7 +6375,7 @@
<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>
+<p class="definition">Definition at line <a class="el" href="runtime_2_tensor_8h_source.xhtml#l00069">69</a> of file <a class="el" href="runtime_2_tensor_8h_source.xhtml">Tensor.h</a>.</p>
</div>
</div>
@@ -6332,7 +6483,7 @@
<p>Internal key point. </p>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00415">415</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#l00424">424</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
</div>
</div>
@@ -6438,7 +6589,7 @@
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00950">950</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#l00960">960</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
</div>
</div>
@@ -6460,21 +6611,21 @@
</div>
</div>
-<a id="a0e7a03e2e133cb1fbb12517a3f646a09"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0e7a03e2e133cb1fbb12517a3f646a09">◆ </a></span>MemoryGroup</h2>
+<a id="a18809773edf57d061fc2826abf0dab5e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a18809773edf57d061fc2826abf0dab5e">◆ </a></span>lock_guard</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">typedef <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> > <a class="el" href="namespacearm__compute.xhtml#a0e7a03e2e133cb1fbb12517a3f646a09">MemoryGroup</a></td>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a18809773edf57d061fc2826abf0dab5e">lock_guard</a> = std::lock_guard<<a class="el" href="namespacearm__compute.xhtml#acded863dbfdd730829d4188d67eefcf0">Mutex</a>></td>
</tr>
</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>Wrapper of lock_guard data-object. </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>
+<p class="definition">Definition at line <a class="el" href="_mutex_8h_source.xhtml#l00037">37</a> of file <a class="el" href="_mutex_8h_source.xhtml">Mutex.h</a>.</p>
</div>
</div>
@@ -6511,7 +6662,7 @@
<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#l00448">448</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#l00457">457</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
</div>
</div>
@@ -6785,6 +6936,22 @@
</div>
</div>
+<a id="a4478c830368ed024dc47a2bf48978616"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4478c830368ed024dc47a2bf48978616">◆ </a></span>NELogSoftmaxLayer</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a4478c830368ed024dc47a2bf48978616">NELogSoftmaxLayer</a> = <a class="el" href="classarm__compute_1_1_n_e_softmax_layer_generic.xhtml">NESoftmaxLayerGeneric</a><true></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_8h_source.xhtml#l00124">124</a> of file <a class="el" href="_n_e_softmax_layer_8h_source.xhtml">NESoftmaxLayer.h</a>.</p>
+
+</div>
+</div>
<a id="a38cad49e6beaef76bc1ec5064c9e9dba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a38cad49e6beaef76bc1ec5064c9e9dba">◆ </a></span>NENonMaximaSuppression3x3FP16Kernel</h2>
@@ -6947,6 +7114,22 @@
</div>
</div>
+<a id="a4df2143ca0a3bdbbbc54b440a52541cd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4df2143ca0a3bdbbbc54b440a52541cd">◆ </a></span>NESoftmaxLayer</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a4df2143ca0a3bdbbbc54b440a52541cd">NESoftmaxLayer</a> = <a class="el" href="classarm__compute_1_1_n_e_softmax_layer_generic.xhtml">NESoftmaxLayerGeneric</a><false></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_8h_source.xhtml#l00123">123</a> of file <a class="el" href="_n_e_softmax_layer_8h_source.xhtml">NESoftmaxLayer.h</a>.</p>
+
+</div>
+</div>
<a id="a669b5d3c5994f9ae3be31df9a1014297"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a669b5d3c5994f9ae3be31df9a1014297">◆ </a></span>PaddingInfo</h2>
@@ -6961,7 +7144,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#l00442">442</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#l00451">451</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
</div>
</div>
@@ -6979,7 +7162,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#l00445">445</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#l00454">454</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
</div>
</div>
@@ -6997,7 +7180,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#l00346">346</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#l00355">355</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
</div>
</div>
@@ -7035,6 +7218,24 @@
</div>
</div>
+<a id="a7f2ec1184355233865bad39063cfa1c5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7f2ec1184355233865bad39063cfa1c5">◆ </a></span>qasymm16_t</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a7f2ec1184355233865bad39063cfa1c5">qasymm16_t</a> = uint16_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>16 bit quantized asymmetric scalar value </p>
+
+<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00037">37</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</a>.</p>
+
+</div>
+</div>
<a id="ab8938bcb3ec0f5f8d93285eb3a28b701"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab8938bcb3ec0f5f8d93285eb3a28b701">◆ </a></span>qasymm8_t</h2>
@@ -7287,6 +7488,24 @@
</div>
</div>
+<a id="a83308d038c8dbe8b7d5525aa6cc2193a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a83308d038c8dbe8b7d5525aa6cc2193a">◆ </a></span>unique_lock</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a83308d038c8dbe8b7d5525aa6cc2193a">unique_lock</a> = std::unique_lock<<a class="el" href="namespacearm__compute.xhtml#acded863dbfdd730829d4188d67eefcf0">Mutex</a>></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Wrapper of lock_guard data-object. </p>
+
+<p class="definition">Definition at line <a class="el" href="_mutex_8h_source.xhtml#l00041">41</a> of file <a class="el" href="_mutex_8h_source.xhtml">Mutex.h</a>.</p>
+
+</div>
+</div>
<a id="aef7a69b9cf4a1732d2be114b9b9bf3e3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef7a69b9cf4a1732d2be114b9b9bf3e3">◆ </a></span>vec_16_byte_t</h2>
@@ -7392,8 +7611,8 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00498">498</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="l00499"></a><span class="lineno"> 499</span> {</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  <a class="code" href="elementwise__operation_8cl.xhtml#af3b709fb668cf93ca09e2a46a2a031a8">ADD</a>, </div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  <a class="code" href="elementwise__operation_8cl.xhtml#aafc2c4f262a0686c07f86c7d2e1d8d14">SUB</a>, </div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  <a class="code" href="elementwise__operation_8cl.xhtml#a49f6fecffd852cda3b0ece53dcbb2b87">DIV</a>, </div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  <a class="code" href="elementwise__operation_8cl.xhtml#a74e75242132eaabbc1c512488a135926">MIN</a>, </div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  <a class="code" href="elementwise__operation_8cl.xhtml#aacc3ee1a7f283f8ef65cea31f4436a95">MAX</a>, </div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  <a class="code" href="elementwise__operation_8cl.xhtml#ab05bd244cb8823c69d6dce6a23a758fd">SQUARED_DIFF</a>, </div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  <a class="code" href="elementwise__operation_8cl.xhtml#a720998f8e544cdc6d3c4c3c8d7ac5377">POWER</a>, </div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  <a class="code" href="elementwise__operation_8cl.xhtml#a01b6a20d51e2db6f1704f2315ead62d3">PRELU</a>, </div><div class="line"><a name="l00508"></a><span class="lineno"> 508</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>
+<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="elementwise__operation_8cl.xhtml#af3b709fb668cf93ca09e2a46a2a031a8">ADD</a>, <span class="comment">/**< (x + y) */</span></div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  <a class="code" href="elementwise__operation_8cl.xhtml#aafc2c4f262a0686c07f86c7d2e1d8d14">SUB</a>, <span class="comment">/**< (x - y) */</span></div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  <a class="code" href="elementwise__operation_8cl.xhtml#a49f6fecffd852cda3b0ece53dcbb2b87">DIV</a>, <span class="comment">/**< (x / y) */</span></div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>  <a class="code" href="elementwise__operation_8cl.xhtml#a74e75242132eaabbc1c512488a135926">MIN</a>, <span class="comment">/**< Min(x, y) */</span></div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  <a class="code" href="elementwise__operation_8cl.xhtml#aacc3ee1a7f283f8ef65cea31f4436a95">MAX</a>, <span class="comment">/**< Max(x, y) */</span></div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  <a class="code" href="elementwise__operation_8cl.xhtml#ab05bd244cb8823c69d6dce6a23a758fd">SQUARED_DIFF</a>, <span class="comment">/**< (x - y)^2 */</span></div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  <a class="code" href="elementwise__operation_8cl.xhtml#a720998f8e544cdc6d3c4c3c8d7ac5377">POWER</a>, <span class="comment">/**< x ^ y */</span></div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  <a class="code" href="elementwise__operation_8cl.xhtml#a01b6a20d51e2db6f1704f2315ead62d3">PRELU</a>, <span class="comment">/**< y*x if x < 0, x otherwise */</span></div><div class="line"><a name="l00517"></a><span class="lineno"> 517</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_a01b6a20d51e2db6f1704f2315ead62d3"><div class="ttname"><a href="elementwise__operation_8cl.xhtml#a01b6a20d51e2db6f1704f2315ead62d3">PRELU</a></div><div class="ttdeci">#define PRELU(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="elementwise__operation_8cl_source.xhtml#l00041">elementwise_operation.cl:41</a></div></div>
@@ -7432,8 +7651,8 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00364">364</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="l00365"></a><span class="lineno"> 365</span> {</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  <a class="code" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532">BILINEAR_OLD_NEW</a>, </div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  <a class="code" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64">BILINEAR_SCHARR</a> </div><div class="line"><a name="l00368"></a><span class="lineno"> 368</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>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00373">373</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="l00374"></a><span class="lineno"> 374</span> {</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <a class="code" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532">BILINEAR_OLD_NEW</a>, <span class="comment">/**< Old-new method */</span></div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <a class="code" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64">BILINEAR_SCHARR</a> <span class="comment">/**< Scharr method */</span></div><div class="line"><a name="l00377"></a><span class="lineno"> 377</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>
@@ -7468,8 +7687,8 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00251">251</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="l00252"></a><span class="lineno"> 252</span> {</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">UNDEFINED</a>, </div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <a class="code" href="namespacearm__compute.xhtml#a14d24d90ab4ba2956e92e27890ba4c91a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>, </div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a> </div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a14d24d90ab4ba2956e92e27890ba4c91a8d6b5cada83510220f59e00ce86d4d92"><div class="ttname"><a href="namespacearm__compute.xhtml#a14d24d90ab4ba2956e92e27890ba4c91a8d6b5cada83510220f59e00ce86d4d92">arm_compute::PaddingMode::CONSTANT</a></div></div>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00260">260</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="l00261"></a><span class="lineno"> 261</span> {</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">UNDEFINED</a>, <span class="comment">/**< Borders are left undefined */</span></div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <a class="code" href="namespacearm__compute.xhtml#a14d24d90ab4ba2956e92e27890ba4c91a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>, <span class="comment">/**< Pixels outside the image are assumed to have a constant value */</span></div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a> <span class="comment">/**< Pixels outside the image are assumed to have the same value as the closest image pixel */</span></div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a14d24d90ab4ba2956e92e27890ba4c91a8d6b5cada83510220f59e00ce86d4d92"><div class="ttname"><a href="namespacearm__compute.xhtml#a14d24d90ab4ba2956e92e27890ba4c91a8d6b5cada83510220f59e00ce86d4d92">arm_compute::PaddingMode::CONSTANT</a></div></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><!-- fragment -->
@@ -7523,8 +7742,8 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00451">451</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="l00452"></a><span class="lineno"> 452</span> {</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53">C0</a>, </div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1">C1</a>, </div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4">C2</a>, </div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c">C3</a>, </div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">R</a>, </div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">G</a>, </div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, </div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, </div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>, </div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  <a class="code" href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">U</a>, </div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a> </div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel.</div></div>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00460">460</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="l00461"></a><span class="lineno"> 461</span> {</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, <span class="comment">/** Unknown channel format */</span></div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53">C0</a>, <span class="comment">/**< First channel (used by formats with unknown channel types). */</span></div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1">C1</a>, <span class="comment">/**< Second channel (used by formats with unknown channel types). */</span></div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4">C2</a>, <span class="comment">/**< Third channel (used by formats with unknown channel types). */</span></div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c">C3</a>, <span class="comment">/**< Fourth channel (used by formats with unknown channel types). */</span></div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">R</a>, <span class="comment">/**< Red channel. */</span></div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">G</a>, <span class="comment">/**< Green channel. */</span></div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, <span class="comment">/**< Blue channel. */</span></div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <span class="comment">/**< Alpha channel. */</span></div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>, <span class="comment">/**< Luma channel. */</span></div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  <a class="code" href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">U</a>, <span class="comment">/**< Cb/U channel. */</span></div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a> <span class="comment">/**< Cr/V/Value channel. */</span></div><div class="line"><a name="l00474"></a><span class="lineno"> 474</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>
@@ -7570,7 +7789,7 @@
</table>
<p class="definition">Definition at line <a class="el" href="_c_l_tuner_types_8h_source.xhtml#l00035">35</a> of file <a class="el" href="_c_l_tuner_types_8h_source.xhtml">CLTunerTypes.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> {</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <a class="code" href="namespacearm__compute.xhtml#ae76ef5bd3ad69f7380ebb3ac6033ec5ca39e07a5dab0694c7ebb6a0578511ee15">EXHAUSTIVE</a>, </div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <a class="code" href="namespacearm__compute.xhtml#a4c9101ca1a1f72f48efff28b4b9a6495a1e23852820b9154316c7c06e2b7ba051">NORMAL</a>, </div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <a class="code" href="namespacearm__compute.xhtml#ae76ef5bd3ad69f7380ebb3ac6033ec5caba44d3559b36fc1c14e5752bccce1eef">RAPID</a> </div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_ae76ef5bd3ad69f7380ebb3ac6033ec5caba44d3559b36fc1c14e5752bccce1eef"><div class="ttname"><a href="namespacearm__compute.xhtml#ae76ef5bd3ad69f7380ebb3ac6033ec5caba44d3559b36fc1c14e5752bccce1eef">arm_compute::CLTunerMode::RAPID</a></div><div class="ttdoc">Searches a minimal subset of LWS configurations while tuning.</div></div>
+<div class="fragment"><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> {</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <a class="code" href="namespacearm__compute.xhtml#ae76ef5bd3ad69f7380ebb3ac6033ec5ca39e07a5dab0694c7ebb6a0578511ee15">EXHAUSTIVE</a>, <span class="comment">/**< Searches all possible LWS configurations while tuning */</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <a class="code" href="namespacearm__compute.xhtml#a4c9101ca1a1f72f48efff28b4b9a6495a1e23852820b9154316c7c06e2b7ba051">NORMAL</a>, <span class="comment">/**< Searches a subset of LWS configurations while tuning */</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <a class="code" href="namespacearm__compute.xhtml#ae76ef5bd3ad69f7380ebb3ac6033ec5caba44d3559b36fc1c14e5752bccce1eef">RAPID</a> <span class="comment">/**< Searches a minimal subset of LWS configurations while tuning */</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_ae76ef5bd3ad69f7380ebb3ac6033ec5caba44d3559b36fc1c14e5752bccce1eef"><div class="ttname"><a href="namespacearm__compute.xhtml#ae76ef5bd3ad69f7380ebb3ac6033ec5caba44d3559b36fc1c14e5752bccce1eef">arm_compute::CLTunerMode::RAPID</a></div><div class="ttdoc">Searches a minimal subset of LWS configurations while tuning.</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a4c9101ca1a1f72f48efff28b4b9a6495a1e23852820b9154316c7c06e2b7ba051"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c9101ca1a1f72f48efff28b4b9a6495a1e23852820b9154316c7c06e2b7ba051">arm_compute::MemoryPolicy::NORMAL</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ae76ef5bd3ad69f7380ebb3ac6033ec5ca39e07a5dab0694c7ebb6a0578511ee15"><div class="ttname"><a href="namespacearm__compute.xhtml#ae76ef5bd3ad69f7380ebb3ac6033ec5ca39e07a5dab0694c7ebb6a0578511ee15">arm_compute::CLTunerMode::EXHAUSTIVE</a></div><div class="ttdoc">Searches all possible LWS configurations while tuning.</div></div>
</div><!-- fragment -->
@@ -7650,8 +7869,8 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00163">163</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="l00164"></a><span class="lineno"> 164</span> {</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <a class="code" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58caf5f286e73bda105e538310b3190f75c5">Equal</a>, </div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <a class="code" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca19bb0af2c3c530538cb41aff7f235b96">NotEqual</a>, </div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <a class="code" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca8768a6821cd735aea4f5b0df88c1fc6a">Greater</a>, </div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <a class="code" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca758b05d899def79c9eb864ad4f96be1f">GreaterEqual</a>, </div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <a class="code" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca1cfdf0e8d0c87a228c1f40d9bee7888b">Less</a>, </div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <a class="code" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58cad3e6fdac55bb7b0edd7834c968ba1f38">LessEqual</a> </div><div class="line"><a name="l00171"></a><span class="lineno"> 171</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>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00172">172</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="l00173"></a><span class="lineno"> 173</span> {</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <a class="code" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58caf5f286e73bda105e538310b3190f75c5">Equal</a>, <span class="comment">/**< Equal comparison ( \f$ x == y \f$ ) */</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <a class="code" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca19bb0af2c3c530538cb41aff7f235b96">NotEqual</a>, <span class="comment">/**< NotEqual comparison ( \f$ x != y \f$ ) */</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <a class="code" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca8768a6821cd735aea4f5b0df88c1fc6a">Greater</a>, <span class="comment">/**< Greater comparison ( \f$ x > y \f$ ) */</span></div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <a class="code" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca758b05d899def79c9eb864ad4f96be1f">GreaterEqual</a>, <span class="comment">/**< Greater equal comparison ( \f$ x >= y \f$ ) */</span></div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <a class="code" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58ca1cfdf0e8d0c87a228c1f40d9bee7888b">Less</a>, <span class="comment">/**< Less comparison ( \f$ x < y \f$ ) */</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <a class="code" href="namespacearm__compute.xhtml#a2d299363c9fc33334c571fa29ca4f58cad3e6fdac55bb7b0edd7834c968ba1f38">LessEqual</a> <span class="comment">/**< Less equal comparison ( \f$ x <= y \f$ ) */</span></div><div class="line"><a name="l00180"></a><span class="lineno"> 180</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>
@@ -7688,8 +7907,8 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00349">349</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="l00350"></a><span class="lineno"> 350</span> {</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <a class="code" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0">WRAP</a>, </div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  <a class="code" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86">SATURATE</a> </div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0"><div class="ttname"><a href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0">arm_compute::ConvertPolicy::WRAP</a></div><div class="ttdoc">Wrap around.</div></div>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00358">358</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="l00359"></a><span class="lineno"> 359</span> {</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  <a class="code" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0">WRAP</a>, <span class="comment">/**< Wrap around */</span></div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <a class="code" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86">SATURATE</a> <span class="comment">/**< Saturate */</span></div><div class="line"><a name="l00362"></a><span class="lineno"> 362</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>
@@ -7726,8 +7945,8 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00132">132</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="l00133"></a><span class="lineno"> 133</span> {</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <a class="code" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da5174aac3927faa9ee34befb7fc87a9e3">GEMM</a>, </div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <a class="code" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da4c5d06b02c97731aaa976179c62dcf76">DIRECT</a>, </div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <a class="code" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da9d024a5762b3a992dec7eb3c49d17ae8">WINOGRAD</a>, </div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <a class="code" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da86de502ad3fe05ceedaba87164d54d28">FFT</a> </div><div class="line"><a name="l00138"></a><span class="lineno"> 138</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>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00134">134</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="l00135"></a><span class="lineno"> 135</span> {</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <a class="code" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da5174aac3927faa9ee34befb7fc87a9e3">GEMM</a>, <span class="comment">/**< Convolution using GEMM */</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <a class="code" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da4c5d06b02c97731aaa976179c62dcf76">DIRECT</a>, <span class="comment">/**< Direct convolution */</span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <a class="code" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da9d024a5762b3a992dec7eb3c49d17ae8">WINOGRAD</a>, <span class="comment">/**< Convolution using Winograd */</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <a class="code" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da86de502ad3fe05ceedaba87164d54d28">FFT</a> <span class="comment">/**< Convolution using FFT */</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</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_a683661ae75dcb7aef16b9c9bde31517da86de502ad3fe05ceedaba87164d54d28"><div class="ttname"><a href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da86de502ad3fe05ceedaba87164d54d28">arm_compute::ConvolutionMethod::FFT</a></div><div class="ttdoc">Convolution using FFT.</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>
@@ -7806,8 +8025,8 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00114">114</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="l00115"></a><span class="lineno"> 115</span> {</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <a class="code" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">NCHW</a>, </div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <a class="code" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">NHWC</a> </div><div class="line"><a name="l00119"></a><span class="lineno"> 119</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>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00116">116</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="l00117"></a><span class="lineno"> 117</span> {</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, <span class="comment">/**< Unknown data layout */</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <a class="code" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">NCHW</a>, <span class="comment">/**< Num samples, channels, height, width */</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <a class="code" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">NHWC</a> <span class="comment">/**< Num samples, height, width, channels */</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</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><!-- fragment -->
@@ -7846,8 +8065,8 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00123">123</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="l00124"></a><span class="lineno"> 124</span> {</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <a class="code" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02af52e9c50a060add65a035429b2a22229">CHANNEL</a>, </div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <a class="code" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02ad770ba3ce18fa409965dfdf5e7c348e6">HEIGHT</a>, </div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <a class="code" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195">WIDTH</a>, </div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <a class="code" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a628bcf7e10fc1c2a984f379a1ec3393a">BATCHES</a> </div><div class="line"><a name="l00129"></a><span class="lineno"> 129</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>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00125">125</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="l00126"></a><span class="lineno"> 126</span> {</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <a class="code" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02af52e9c50a060add65a035429b2a22229">CHANNEL</a>, <span class="comment">/**< channel */</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <a class="code" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02ad770ba3ce18fa409965dfdf5e7c348e6">HEIGHT</a>, <span class="comment">/**< height */</span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <a class="code" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195">WIDTH</a>, <span class="comment">/**< width */</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <a class="code" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a628bcf7e10fc1c2a984f379a1ec3393a">BATCHES</a> <span class="comment">/**< batches */</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</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>
@@ -7884,7 +8103,9 @@
</td></tr>
<tr><td class="fieldname"><a id="ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c"></a>QSYMM8 </td><td class="fielddoc"><p>quantized, symmetric fixed-point 8-bit number </p>
</td></tr>
-<tr><td class="fieldname"><a id="ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924"></a>QASYMM8 </td><td class="fielddoc"><p>quantized, asymmetric fixed-point 8-bit number </p>
+<tr><td class="fieldname"><a id="ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924"></a>QASYMM8 </td><td class="fielddoc"><p>quantized, asymmetric fixed-point 8-bit number unsigned </p>
+</td></tr>
+<tr><td class="fieldname"><a id="ad8ed01ff3ff33333d8e19db4d2818bb6a329f5d0c4b0c80e3474951d2c4435dd9"></a>QASYMM8_SIGNED </td><td class="fielddoc"><p>quantized, asymmetric fixed-point 8-bit number signed </p>
</td></tr>
<tr><td class="fieldname"><a id="ad8ed01ff3ff33333d8e19db4d2818bb6a34f500e941c4df30b870126ec868ebd5"></a>QSYMM8_PER_CHANNEL </td><td class="fielddoc"><p>quantized, symmetric per channel fixed-point 8-bit number </p>
</td></tr>
@@ -7894,6 +8115,8 @@
</td></tr>
<tr><td class="fieldname"><a id="ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6"></a>QSYMM16 </td><td class="fielddoc"><p>quantized, symmetric fixed-point 16-bit number </p>
</td></tr>
+<tr><td class="fieldname"><a id="ad8ed01ff3ff33333d8e19db4d2818bb6a3b989c6b5398b3b9538ad103a324205e"></a>QASYMM16 </td><td class="fielddoc"><p>quantized, asymmetric fixed-point 16-bit number </p>
+</td></tr>
<tr><td class="fieldname"><a id="ad8ed01ff3ff33333d8e19db4d2818bb6ac8bd5bedff8ef192d39a962afc0e19ee"></a>U32 </td><td class="fielddoc"><p>unsigned 32-bit number </p>
</td></tr>
<tr><td class="fieldname"><a id="ad8ed01ff3ff33333d8e19db4d2818bb6aa1e28eee0339658d39a8b4d325b56e9c"></a>S32 </td><td class="fielddoc"><p>signed 32-bit number </p>
@@ -7913,20 +8136,22 @@
</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#ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c">QSYMM8</a>, </div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, </div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a34f500e941c4df30b870126ec868ebd5">QSYMM8_PER_CHANNEL</a>, </div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, </div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, </div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6">QSYMM16</a>, </div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, </div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, </div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>, </div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>, </div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, </div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, </div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>, </div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a> </div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6">arm_compute::DataType::QSYMM16</a></div><div class="ttdoc">quantized, symmetric fixed-point 16-bit number</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>, <span class="comment">/**< Unknown data type */</span></div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, <span class="comment">/**< unsigned 8-bit number */</span></div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>, <span class="comment">/**< signed 8-bit number */</span></div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c">QSYMM8</a>, <span class="comment">/**< quantized, symmetric fixed-point 8-bit number */</span></div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, <span class="comment">/**< quantized, asymmetric fixed-point 8-bit number unsigned */</span></div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a329f5d0c4b0c80e3474951d2c4435dd9">QASYMM8_SIGNED</a>, <span class="comment">/**< quantized, asymmetric fixed-point 8-bit number signed */</span></div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a34f500e941c4df30b870126ec868ebd5">QSYMM8_PER_CHANNEL</a>, <span class="comment">/**< quantized, symmetric per channel fixed-point 8-bit number */</span></div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <span class="comment">/**< unsigned 16-bit number */</span></div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <span class="comment">/**< signed 16-bit number */</span></div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6">QSYMM16</a>, <span class="comment">/**< quantized, symmetric fixed-point 16-bit number */</span></div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a3b989c6b5398b3b9538ad103a324205e">QASYMM16</a>, <span class="comment">/**< quantized, asymmetric fixed-point 16-bit number */</span></div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <span class="comment">/**< unsigned 32-bit number */</span></div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <span class="comment">/**< signed 32-bit number */</span></div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>, <span class="comment">/**< unsigned 64-bit number */</span></div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>, <span class="comment">/**< signed 64-bit number */</span></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <span class="comment">/**< 16-bit floating-point number */</span></div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <span class="comment">/**< 32-bit floating-point number */</span></div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>, <span class="comment">/**< 64-bit floating-point number */</span></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a> <span class="comment">/**< size_t */</span></div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6">arm_compute::DataType::QSYMM16</a></div><div class="ttdoc">quantized, symmetric fixed-point 16-bit number</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_ad8ed01ff3ff33333d8e19db4d2818bb6a3b989c6b5398b3b9538ad103a324205e"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a3b989c6b5398b3b9538ad103a324205e">arm_compute::DataType::QASYMM16</a></div><div class="ttdoc">quantized, asymmetric fixed-point 16-bit number</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_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 unsigned</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_ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c">arm_compute::DataType::QSYMM8</a></div><div class="ttdoc">quantized, symmetric fixed-point 8-bit number</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a34f500e941c4df30b870126ec868ebd5"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a34f500e941c4df30b870126ec868ebd5">arm_compute::DataType::QSYMM8_PER_CHANNEL</a></div><div class="ttdoc">quantized, symmetric per channel fixed-point 8-bit number</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_ad8ed01ff3ff33333d8e19db4d2818bb6a329f5d0c4b0c80e3474951d2c4435dd9"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a329f5d0c4b0c80e3474951d2c4435dd9">arm_compute::DataType::QASYMM8_SIGNED</a></div><div class="ttdoc">quantized, asymmetric fixed-point 8-bit number signed</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>
@@ -7961,12 +8186,46 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00141">141</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="l00142"></a><span class="lineno"> 142</span> {</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <a class="code" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da5174aac3927faa9ee34befb7fc87a9e3">GEMM</a>, </div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <a class="code" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da4c5d06b02c97731aaa976179c62dcf76">DIRECT</a>, </div><div class="line"><a name="l00145"></a><span class="lineno"> 145</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>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00150">150</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="l00151"></a><span class="lineno"> 151</span> {</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <a class="code" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da5174aac3927faa9ee34befb7fc87a9e3">GEMM</a>, <span class="comment">/**< Deconvolution using GEMM */</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <a class="code" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da4c5d06b02c97731aaa976179c62dcf76">DIRECT</a>, <span class="comment">/**< Direct deconvolution */</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</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_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>
+<a id="a0255421478a6f5ab8a2596d966411a5b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0255421478a6f5ab8a2596d966411a5b">◆ </a></span>DepthwiseConvolutionFunction</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#a0255421478a6f5ab8a2596d966411a5b">DepthwiseConvolutionFunction</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 DepthwiseConvolutionFunction. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a0255421478a6f5ab8a2596d966411a5ba90190a007b4cd58a842970e987761079"></a>OPTIMIZED </td><td class="fielddoc"><p>Optimized Depthwise Convolution. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a0255421478a6f5ab8a2596d966411a5bac942dc2a9f958acddc67e11472d3ca0b"></a>GENERIC </td><td class="fielddoc"><p>Generic Depthwise Convolution. </p>
+</td></tr>
+</table>
+
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00143">143</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="l00144"></a><span class="lineno"> 144</span> {</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <a class="code" href="namespacearm__compute.xhtml#a0255421478a6f5ab8a2596d966411a5ba90190a007b4cd58a842970e987761079">OPTIMIZED</a>, <span class="comment">/**< Optimized Depthwise Convolution */</span></div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <a class="code" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4ac942dc2a9f958acddc67e11472d3ca0b">GENERIC</a>, <span class="comment">/**< Generic Depthwise Convolution */</span></div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a0255421478a6f5ab8a2596d966411a5ba90190a007b4cd58a842970e987761079"><div class="ttname"><a href="namespacearm__compute.xhtml#a0255421478a6f5ab8a2596d966411a5ba90190a007b4cd58a842970e987761079">arm_compute::DepthwiseConvolutionFunction::OPTIMIZED</a></div><div class="ttdoc">Optimized Depthwise Convolution.</div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_aa41d7415a5386798147cccae2333d5d4ac942dc2a9f958acddc67e11472d3ca0b"><div class="ttname"><a href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4ac942dc2a9f958acddc67e11472d3ca0b">arm_compute::CPUModel::GENERIC</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
<a id="ad818ba0ecd4a87d8f1bb0d5b17f07830"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad818ba0ecd4a87d8f1bb0d5b17f07830">◆ </a></span>DetectionOutputLayerCodeType</h2>
@@ -7999,8 +8258,8 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00953">953</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="l00954"></a><span class="lineno"> 954</span> {</div><div class="line"><a name="l00955"></a><span class="lineno"> 955</span>  <a class="code" href="namespacearm__compute.xhtml#ad818ba0ecd4a87d8f1bb0d5b17f07830ac411afd31d32cec664d372acc12f404a">CORNER</a>, </div><div class="line"><a name="l00956"></a><span class="lineno"> 956</span>  <a class="code" href="namespacearm__compute.xhtml#ad818ba0ecd4a87d8f1bb0d5b17f07830a1150a8d7752b01d30d91fe18fe9d8a54">CENTER_SIZE</a>, </div><div class="line"><a name="l00957"></a><span class="lineno"> 957</span>  <a class="code" href="namespacearm__compute.xhtml#ad818ba0ecd4a87d8f1bb0d5b17f07830afbc6c35854fe02eb9e792f897399c42a">CORNER_SIZE</a>, </div><div class="line"><a name="l00958"></a><span class="lineno"> 958</span>  <a class="code" href="namespacearm__compute.xhtml#ad818ba0ecd4a87d8f1bb0d5b17f07830ae65a115db9b4bcc4ae0aa0b989089d16">TF_CENTER</a> </div><div class="line"><a name="l00959"></a><span class="lineno"> 959</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>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00963">963</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="l00964"></a><span class="lineno"> 964</span> {</div><div class="line"><a name="l00965"></a><span class="lineno"> 965</span>  <a class="code" href="namespacearm__compute.xhtml#ad818ba0ecd4a87d8f1bb0d5b17f07830ac411afd31d32cec664d372acc12f404a">CORNER</a>, <span class="comment">/**< Use box corners */</span></div><div class="line"><a name="l00966"></a><span class="lineno"> 966</span>  <a class="code" href="namespacearm__compute.xhtml#ad818ba0ecd4a87d8f1bb0d5b17f07830a1150a8d7752b01d30d91fe18fe9d8a54">CENTER_SIZE</a>, <span class="comment">/**< Use box centers and size */</span></div><div class="line"><a name="l00967"></a><span class="lineno"> 967</span>  <a class="code" href="namespacearm__compute.xhtml#ad818ba0ecd4a87d8f1bb0d5b17f07830afbc6c35854fe02eb9e792f897399c42a">CORNER_SIZE</a>, <span class="comment">/**< Use box centers and size */</span></div><div class="line"><a name="l00968"></a><span class="lineno"> 968</span>  <a class="code" href="namespacearm__compute.xhtml#ad818ba0ecd4a87d8f1bb0d5b17f07830ae65a115db9b4bcc4ae0aa0b989089d16">TF_CENTER</a> <span class="comment">/**< Use box centers and size but flip x and y co-ordinates */</span></div><div class="line"><a name="l00969"></a><span class="lineno"> 969</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>
@@ -8036,8 +8295,8 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00557">557</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="l00558"></a><span class="lineno"> 558</span> {</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>  <a class="code" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe">FLOOR</a>, </div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>  <a class="code" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">CEIL</a> </div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff"><div class="ttname"><a href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">arm_compute::DimensionRoundingType::CEIL</a></div><div class="ttdoc">Ceil rounding.</div></div>
+<p 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>, <span class="comment">/**< Floor rounding */</span></div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>  <a class="code" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">CEIL</a> <span class="comment">/**< Ceil rounding */</span></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>
</div><!-- fragment -->
</div>
@@ -8080,8 +8339,8 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00511">511</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="l00512"></a><span class="lineno"> 512</span> {</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  <a class="code" href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936da66bac724670f51e77f3688d33ca0d781">RSQRT</a>, </div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  <a class="code" href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936da8c670f8c37b95e1ed14a0ce414b049c7">EXP</a>, </div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  <a class="code" href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936da5dd68b1a7db42a1cce4dce09dbaa179e">NEG</a>, </div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  <a class="code" href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936da4b5ffcdaf38ce4d463171f5c977c5ab3">LOG</a>, </div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  <a class="code" href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936da7d8a220d2262f9d6c658d549ee12cf2c">ABS</a>, </div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  <a class="code" href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936da5b001d63db54e7383587771eeb2018a1">SIN</a>, </div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  <a class="code" href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936da2ea77cf582892014b30e6fa7e558350d">ROUND</a>, </div><div class="line"><a name="l00520"></a><span class="lineno"> 520</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>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00520">520</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="l00521"></a><span class="lineno"> 521</span> {</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  <a class="code" href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936da66bac724670f51e77f3688d33ca0d781">RSQRT</a>, <span class="comment">/**< Reverse square root */</span></div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  <a class="code" href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936da8c670f8c37b95e1ed14a0ce414b049c7">EXP</a>, <span class="comment">/**< Exponential */</span></div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>  <a class="code" href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936da5dd68b1a7db42a1cce4dce09dbaa179e">NEG</a>, <span class="comment">/**< Negate */</span></div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  <a class="code" href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936da4b5ffcdaf38ce4d463171f5c977c5ab3">LOG</a>, <span class="comment">/**< Natural Logarithm */</span></div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  <a class="code" href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936da7d8a220d2262f9d6c658d549ee12cf2c">ABS</a>, <span class="comment">/**< Absolute value */</span></div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  <a class="code" href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936da5b001d63db54e7383587771eeb2018a1">SIN</a>, <span class="comment">/**< Sine */</span></div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  <a class="code" href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936da2ea77cf582892014b30e6fa7e558350d">ROUND</a>, <span class="comment">/**< Round */</span></div><div class="line"><a name="l00529"></a><span class="lineno"> 529</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_a5dad01b7eab116403241313417e0936da7d8a220d2262f9d6c658d549ee12cf2c"><div class="ttname"><a href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936da7d8a220d2262f9d6c658d549ee12cf2c">arm_compute::ElementWiseUnary::ABS</a></div><div class="ttdoc">Absolute value.</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a5dad01b7eab116403241313417e0936da2ea77cf582892014b30e6fa7e558350d"><div class="ttname"><a href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936da2ea77cf582892014b30e6fa7e558350d">arm_compute::ElementWiseUnary::ROUND</a></div><div class="ttdoc">Round.</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a5dad01b7eab116403241313417e0936da4b5ffcdaf38ce4d463171f5c977c5ab3"><div class="ttname"><a href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936da4b5ffcdaf38ce4d463171f5c977c5ab3">arm_compute::ElementWiseUnary::LOG</a></div><div class="ttdoc">Natural Logarithm.</div></div>
@@ -8122,7 +8381,7 @@
</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="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>, <span class="comment">/**< No error */</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <a class="code" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa62be47fdd89da032cf78dfce82239579">RUNTIME_ERROR</a>, <span class="comment">/**< Generic runtime error */</span></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> <span class="comment">/**< Unsupported extension used*/</span></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 -->
@@ -8219,7 +8478,7 @@
</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="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>, <span class="comment">/**< Unknown image format */</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, <span class="comment">/**< 1 channel, 1 U8 per channel */</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <span class="comment">/**< 1 channel, 1 S16 per channel */</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <span class="comment">/**< 1 channel, 1 U16 per channel */</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <span class="comment">/**< 1 channel, 1 S32 per channel */</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <span class="comment">/**< 1 channel, 1 U32 per channel */</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <span class="comment">/**< 1 channel, 1 F16 per channel */</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <span class="comment">/**< 1 channel, 1 F32 per channel */</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>, <span class="comment">/**< 2 channel, 1 U8 per channel */</span></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, <span class="comment">/**< 3 channels, 1 U8 per channel */</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, <span class="comment">/**< 4 channels, 1 U8 per channel */</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, <span class="comment">/**< A 3 plane of 8 bit 4:4:4 sampled Y, U, V planes */</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>, <span class="comment">/**< A single plane of 32-bit macro pixel of Y0, U0, Y1, V0 bytes */</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, <span class="comment">/**< A 2 plane YUV format of Luma (Y) and interleaved UV data at 4:2:0 sampling */</span></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, <span class="comment">/**< A 2 plane YUV format of Luma (Y) and interleaved VU data at 4:2:0 sampling */</span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, <span class="comment">/**< A 3 plane of 8-bit 4:2:0 sampled Y, U, V planes */</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a> <span class="comment">/**< A single plane of 32-bit macro pixel of U0, Y0, V0, Y1 byte */</span></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>
@@ -8267,8 +8526,8 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00148">148</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="l00149"></a><span class="lineno"> 149</span> {</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <a class="code" href="namespacearm__compute.xhtml#afb7e3dd8a833840aaaf618bd43ead0caaf7fb587bad912d390b57a5d6e7ccc55d">CONVOLUTION</a>, </div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <a class="code" href="namespacearm__compute.xhtml#afb7e3dd8a833840aaaf618bd43ead0caa481bc07ed7c792045e8b277c0c88f8d4">DEPTHWISECONVOLUTION</a> </div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_afb7e3dd8a833840aaaf618bd43ead0caaf7fb587bad912d390b57a5d6e7ccc55d"><div class="ttname"><a href="namespacearm__compute.xhtml#afb7e3dd8a833840aaaf618bd43ead0caaf7fb587bad912d390b57a5d6e7ccc55d">arm_compute::FuseBatchNormalizationType::CONVOLUTION</a></div><div class="ttdoc">For Convolution weights.</div></div>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00157">157</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="l00158"></a><span class="lineno"> 158</span> {</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <a class="code" href="namespacearm__compute.xhtml#afb7e3dd8a833840aaaf618bd43ead0caaf7fb587bad912d390b57a5d6e7ccc55d">CONVOLUTION</a>, <span class="comment">/**< For Convolution weights */</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <a class="code" href="namespacearm__compute.xhtml#afb7e3dd8a833840aaaf618bd43ead0caa481bc07ed7c792045e8b277c0c88f8d4">DEPTHWISECONVOLUTION</a> <span class="comment">/**< For Depthwise Convolution weights*/</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_afb7e3dd8a833840aaaf618bd43ead0caaf7fb587bad912d390b57a5d6e7ccc55d"><div class="ttname"><a href="namespacearm__compute.xhtml#afb7e3dd8a833840aaaf618bd43ead0caaf7fb587bad912d390b57a5d6e7ccc55d">arm_compute::FuseBatchNormalizationType::CONVOLUTION</a></div><div class="ttdoc">For Convolution weights.</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_afb7e3dd8a833840aaaf618bd43ead0caa481bc07ed7c792045e8b277c0c88f8d4"><div class="ttname"><a href="namespacearm__compute.xhtml#afb7e3dd8a833840aaaf618bd43ead0caa481bc07ed7c792045e8b277c0c88f8d4">arm_compute::FuseBatchNormalizationType::DEPTHWISECONVOLUTION</a></div><div class="ttdoc">For Depthwise Convolution weights.</div></div>
</div><!-- fragment -->
</div>
@@ -8305,8 +8564,8 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01836">1836</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="l01837"></a><span class="lineno"> 1837</span> {</div><div class="line"><a name="l01838"></a><span class="lineno"> 1838</span>  <a class="code" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864ab50339a10e1de285ac99d4c3990b8693">NONE</a>, </div><div class="line"><a name="l01839"></a><span class="lineno"> 1839</span>  <a class="code" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864a079e2ddc95b344b5cb0188bed9a80d8b">QUANTIZE_DOWN</a>, </div><div class="line"><a name="l01840"></a><span class="lineno"> 1840</span>  <a class="code" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864ab300cae200f67712c1eb9234e28158ca">QUANTIZE_DOWN_FIXEDPOINT</a>, </div><div class="line"><a name="l01841"></a><span class="lineno"> 1841</span>  <a class="code" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864aad664ac5008f135e38afeb391e524f9c">QUANTIZE_DOWN_FLOAT</a> </div><div class="line"><a name="l01842"></a><span class="lineno"> 1842</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>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01867">1867</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="l01868"></a><span class="lineno"> 1868</span> {</div><div class="line"><a name="l01869"></a><span class="lineno"> 1869</span>  <a class="code" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864ab50339a10e1de285ac99d4c3990b8693">NONE</a>, <span class="comment">/**< No quantization to uint8 */</span></div><div class="line"><a name="l01870"></a><span class="lineno"> 1870</span>  <a class="code" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864a079e2ddc95b344b5cb0188bed9a80d8b">QUANTIZE_DOWN</a>, <span class="comment">/**< Quantize to uint8 using an integer multiplication */</span></div><div class="line"><a name="l01871"></a><span class="lineno"> 1871</span>  <a class="code" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864ab300cae200f67712c1eb9234e28158ca">QUANTIZE_DOWN_FIXEDPOINT</a>, <span class="comment">/**< Quantize to uint8 using a fixed point multiplication */</span></div><div class="line"><a name="l01872"></a><span class="lineno"> 1872</span>  <a class="code" href="namespacearm__compute.xhtml#a5558e2cc22f7f4771653d992c8ad8864aad664ac5008f135e38afeb391e524f9c">QUANTIZE_DOWN_FLOAT</a> <span class="comment">/**< Quantize to uint8 using a floating point multiplication */</span></div><div class="line"><a name="l01873"></a><span class="lineno"> 1873</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>
@@ -8406,7 +8665,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, <span class="comment">/**< x gradient dimension */</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  GRAD_Y, <span class="comment">/**< y gradient dimension */</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <a class="code" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7a5515a637eda61b978e97adaa5d7629cc">GRAD_XY</a>, <span class="comment">/**< x and y gradient dimension */</span></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>
@@ -8440,8 +8699,8 @@
</td></tr>
</table>
-<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="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#a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5">L2_NORM</a> = 1, </div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>  <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">L2HYS_NORM</a> = 2, </div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa">L1_NORM</a> = 3 </div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2"><div class="ttname"><a href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">arm_compute::HOGNormType::L2HYS_NORM</a></div><div class="ttdoc">L2-norm followed by clipping.</div></div>
+<p 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, <span class="comment">/**< L2-norm */</span></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, <span class="comment">/**< L2-norm followed by clipping */</span></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 <span class="comment">/**< L1 norm */</span></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>
</div><!-- fragment -->
@@ -8477,8 +8736,8 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00356">356</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="l00357"></a><span class="lineno"> 357</span> {</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2">NEAREST_NEIGHBOR</a>, </div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>, </div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>, </div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65"><div class="ttname"><a href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">arm_compute::InterpolationPolicy::BILINEAR</a></div><div class="ttdoc">Output values are defined by bilinear interpolation between the pixels.</div></div>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00365">365</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00366"></a><span class="lineno"> 366</span> {</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2">NEAREST_NEIGHBOR</a>, <span class="comment">/**< Output values are defined to match the source pixel whose center is nearest to the sample position */</span></div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>, <span class="comment">/**< Output values are defined by bilinear interpolation between the pixels */</span></div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>, <span class="comment">/**< Output values are determined by averaging the source pixels whose areas fall under the area of the destination pixel, projected onto the source image */</span></div><div class="line"><a name="l00370"></a><span class="lineno"> 370</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 -->
@@ -8512,8 +8771,8 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00386">386</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="l00387"></a><span class="lineno"> 387</span> {</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  <a class="code" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8">L1NORM</a>, </div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  <a class="code" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131">L2NORM</a> </div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8"><div class="ttname"><a href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8">arm_compute::MagnitudeType::L1NORM</a></div><div class="ttdoc">L1 normalization type.</div></div>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00395">395</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00396"></a><span class="lineno"> 396</span> {</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  <a class="code" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8">L1NORM</a>, <span class="comment">/**< L1 normalization type */</span></div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  <a class="code" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131">L2NORM</a> <span class="comment">/**< L2 normalization type */</span></div><div class="line"><a name="l00399"></a><span class="lineno"> 399</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>
@@ -8547,7 +8806,7 @@
</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="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>, <span class="comment">/**< Mappings are in blob granularity */</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <a class="code" href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74da465202c26fd7181c6bc9a80648499073">OFFSETS</a> <span class="comment">/**< Mappings are in offset granularity in the same blob */</span></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>
@@ -8584,8 +8843,8 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00468">468</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="l00469"></a><span class="lineno"> 469</span> {</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5">BOX</a>, </div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2">CROSS</a>, </div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">DISK</a>, </div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb">OTHER</a> </div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7"><div class="ttname"><a href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">arm_compute::MatrixPattern::DISK</a></div><div class="ttdoc">Disk pattern matrix.</div></div>
+<p 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>
+<div class="fragment"><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>  <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5">BOX</a>, <span class="comment">/**< Box pattern matrix. */</span></div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2">CROSS</a>, <span class="comment">/**< Cross pattern matrix. */</span></div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">DISK</a>, <span class="comment">/**< Disk pattern matrix. */</span></div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb">OTHER</a> <span class="comment">/**< Any other matrix pattern. */</span></div><div class="line"><a name="l00483"></a><span class="lineno"> 483</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>
@@ -8656,8 +8915,8 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00572">572</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="l00573"></a><span class="lineno"> 573</span> {</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>  <a class="code" href="namespacearm__compute.xhtml#a201391f6e13e2a1ac203256a77792718aaac544aacc3615aada24897a215f5046">LINEAR</a>, </div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  <a class="code" href="namespacearm__compute.xhtml#a201391f6e13e2a1ac203256a77792718a0fceff26ae86a047835cafbb6cadb1b9">GAUSSIAN</a>, </div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>  <a class="code" href="namespacearm__compute.xhtml#a201391f6e13e2a1ac203256a77792718aa87d5006e1de1bfc07d5c56086ad20f1">ORIGINAL</a> </div><div class="line"><a name="l00577"></a><span class="lineno"> 577</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>
+<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>, <span class="comment">/**< Linear NMS */</span></div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>  <a class="code" href="namespacearm__compute.xhtml#a201391f6e13e2a1ac203256a77792718a0fceff26ae86a047835cafbb6cadb1b9">GAUSSIAN</a>, <span class="comment">/**< Gaussian NMS */</span></div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>  <a class="code" href="namespacearm__compute.xhtml#a201391f6e13e2a1ac203256a77792718aa87d5006e1de1bfc07d5c56086ad20f1">ORIGINAL</a> <span class="comment">/**< Original NMS */</span></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>
</div><!-- fragment -->
@@ -8693,8 +8952,8 @@
</td></tr>
</table>
-<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>
-<div class="fragment"><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  : <span class="keywordtype">unsigned</span></div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span> {</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074">MEDIAN</a> = 0, </div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  <a class="code" href="elementwise__operation_8cl.xhtml#a74e75242132eaabbc1c512488a135926">MIN</a> = 1, </div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  <a class="code" href="elementwise__operation_8cl.xhtml#aacc3ee1a7f283f8ef65cea31f4436a95">MAX</a> = 2, </div><div class="line"><a name="l00482"></a><span class="lineno"> 482</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>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00486">486</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="l00486"></a><span class="lineno"> 486</span>  : <span class="keywordtype">unsigned</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>  <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074">MEDIAN</a> = 0, <span class="comment">/**< Non linear median filter. */</span></div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  <a class="code" href="elementwise__operation_8cl.xhtml#a74e75242132eaabbc1c512488a135926">MIN</a> = 1, <span class="comment">/**< Non linear erode. */</span></div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  <a class="code" href="elementwise__operation_8cl.xhtml#aacc3ee1a7f283f8ef65cea31f4436a95">MAX</a> = 2, <span class="comment">/**< Non linear dilate. */</span></div><div class="line"><a name="l00491"></a><span class="lineno"> 491</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 -->
@@ -8730,8 +8989,8 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00523">523</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="l00524"></a><span class="lineno"> 524</span> {</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190">IN_MAP_1D</a>, </div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e">IN_MAP_2D</a>, </div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5">CROSS_MAP</a> </div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190"><div class="ttname"><a href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190">arm_compute::NormType::IN_MAP_1D</a></div><div class="ttdoc">Normalization applied within the same map in 1D region.</div></div>
+<p 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>, <span class="comment">/**< Normalization applied within the same map in 1D region */</span></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>, <span class="comment">/**< Normalization applied within the same map in 2D region */</span></div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>  <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5">CROSS_MAP</a> <span class="comment">/**< Normalization applied cross maps */</span></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>
</div><!-- fragment -->
@@ -8764,8 +9023,8 @@
<tr><td class="fieldname"><a id="a14d24d90ab4ba2956e92e27890ba4c91a161b3d9016563aba9ac190fc02ada9bb"></a>SYMMETRIC </td><td class="fielddoc"></td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00155">155</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="l00156"></a><span class="lineno"> 156</span> {</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <a class="code" href="namespacearm__compute.xhtml#a14d24d90ab4ba2956e92e27890ba4c91a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>,</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <a class="code" href="namespacearm__compute.xhtml#a14d24d90ab4ba2956e92e27890ba4c91ae4f6a05f82ed398f984f4bc1a55838df">REFLECT</a>,</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <a class="code" href="namespacearm__compute.xhtml#a14d24d90ab4ba2956e92e27890ba4c91a161b3d9016563aba9ac190fc02ada9bb">SYMMETRIC</a></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a14d24d90ab4ba2956e92e27890ba4c91a161b3d9016563aba9ac190fc02ada9bb"><div class="ttname"><a href="namespacearm__compute.xhtml#a14d24d90ab4ba2956e92e27890ba4c91a161b3d9016563aba9ac190fc02ada9bb">arm_compute::PaddingMode::SYMMETRIC</a></div></div>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00164">164</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="l00165"></a><span class="lineno"> 165</span> {</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <a class="code" href="namespacearm__compute.xhtml#a14d24d90ab4ba2956e92e27890ba4c91a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>,</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <a class="code" href="namespacearm__compute.xhtml#a14d24d90ab4ba2956e92e27890ba4c91ae4f6a05f82ed398f984f4bc1a55838df">REFLECT</a>,</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <a class="code" href="namespacearm__compute.xhtml#a14d24d90ab4ba2956e92e27890ba4c91a161b3d9016563aba9ac190fc02ada9bb">SYMMETRIC</a></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a14d24d90ab4ba2956e92e27890ba4c91a161b3d9016563aba9ac190fc02ada9bb"><div class="ttname"><a href="namespacearm__compute.xhtml#a14d24d90ab4ba2956e92e27890ba4c91a161b3d9016563aba9ac190fc02ada9bb">arm_compute::PaddingMode::SYMMETRIC</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a14d24d90ab4ba2956e92e27890ba4c91a8d6b5cada83510220f59e00ce86d4d92"><div class="ttname"><a href="namespacearm__compute.xhtml#a14d24d90ab4ba2956e92e27890ba4c91a8d6b5cada83510220f59e00ce86d4d92">arm_compute::PaddingMode::CONSTANT</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a14d24d90ab4ba2956e92e27890ba4c91ae4f6a05f82ed398f984f4bc1a55838df"><div class="ttname"><a href="namespacearm__compute.xhtml#a14d24d90ab4ba2956e92e27890ba4c91ae4f6a05f82ed398f984f4bc1a55838df">arm_compute::PaddingMode::REFLECT</a></div></div>
</div><!-- fragment -->
@@ -8800,8 +9059,8 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00396">396</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00397"></a><span class="lineno"> 397</span> {</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  <a class="code" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72a6898b46a1cde8a1572e2722c44c5ab07">SIGNED</a>, </div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  <a class="code" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054">UNSIGNED</a> </div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054"><div class="ttname"><a href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054">arm_compute::PhaseType::UNSIGNED</a></div><div class="ttdoc">Angle range: [0, 180].</div></div>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00405">405</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="l00406"></a><span class="lineno"> 406</span> {</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  <a class="code" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72a6898b46a1cde8a1572e2722c44c5ab07">SIGNED</a>, <span class="comment">/**< Angle range: [0, 360] */</span></div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  <a class="code" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054">UNSIGNED</a> <span class="comment">/**< Angle range: [0, 180] */</span></div><div class="line"><a name="l00409"></a><span class="lineno"> 409</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>
@@ -8836,8 +9095,8 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00564">564</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="l00565"></a><span class="lineno"> 565</span> {</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>  <a class="code" href="elementwise__operation_8cl.xhtml#aacc3ee1a7f283f8ef65cea31f4436a95">MAX</a>, </div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>  <a class="code" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a">AVG</a>, </div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>  <a class="code" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76">L2</a> </div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76"><div class="ttname"><a href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76">arm_compute::PoolingType::L2</a></div><div class="ttdoc">L2 Pooling.</div></div>
+<p 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="elementwise__operation_8cl.xhtml#aacc3ee1a7f283f8ef65cea31f4436a95">MAX</a>, <span class="comment">/**< Max Pooling */</span></div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>  <a class="code" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a">AVG</a>, <span class="comment">/**< Average Pooling */</span></div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>  <a class="code" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76">L2</a> <span class="comment">/**< L2 Pooling */</span></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="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 -->
@@ -8883,8 +9142,8 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00485">485</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="l00486"></a><span class="lineno"> 486</span> {</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba654fed6e9b6c154d04bcaa439e32d0d5">ARG_IDX_MAX</a>, </div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba39102811589b9a0d7a6aa8721663b4d1">ARG_IDX_MIN</a>, </div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45bafc54513dae613e117ffc4169e48bfce5">MEAN_SUM</a>, </div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45bac8074bb318fb85693233e64acc64c1ed">PROD</a>, </div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64">SUM_SQUARE</a>, </div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a">SUM</a>, </div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  <a class="code" href="elementwise__operation_8cl.xhtml#a74e75242132eaabbc1c512488a135926">MIN</a>, </div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  <a class="code" href="elementwise__operation_8cl.xhtml#aacc3ee1a7f283f8ef65cea31f4436a95">MAX</a>, </div><div class="line"><a name="l00495"></a><span class="lineno"> 495</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>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00494">494</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="l00495"></a><span class="lineno"> 495</span> {</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba654fed6e9b6c154d04bcaa439e32d0d5">ARG_IDX_MAX</a>, <span class="comment">/**< Index of the max value */</span></div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba39102811589b9a0d7a6aa8721663b4d1">ARG_IDX_MIN</a>, <span class="comment">/**< Index of the min value */</span></div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45bafc54513dae613e117ffc4169e48bfce5">MEAN_SUM</a>, <span class="comment">/**< Mean of sum */</span></div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45bac8074bb318fb85693233e64acc64c1ed">PROD</a>, <span class="comment">/**< Product */</span></div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64">SUM_SQUARE</a>, <span class="comment">/**< Sum of squares */</span></div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a">SUM</a>, <span class="comment">/**< Sum */</span></div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  <a class="code" href="elementwise__operation_8cl.xhtml#a74e75242132eaabbc1c512488a135926">MIN</a>, <span class="comment">/**< Min */</span></div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  <a class="code" href="elementwise__operation_8cl.xhtml#aacc3ee1a7f283f8ef65cea31f4436a95">MAX</a>, <span class="comment">/**< Max */</span></div><div class="line"><a name="l00504"></a><span class="lineno"> 504</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="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>
@@ -8926,7 +9185,7 @@
</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="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>, <span class="comment">/**< Truncates the least significant values that are lost in operations. */</span></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>, <span class="comment">/**< Rounds to nearest value; half rounds away from zero */</span></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>, <span class="comment">/**< Rounds to nearest value; half rounds to nearest even */</span></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 -->
@@ -8960,8 +9219,8 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00096">96</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="l00097"></a><span class="lineno"> 97</span> {</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <a class="code" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7bac397289ee45877be0cd49811fe245b4e">CENTER</a>, </div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <a class="code" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7ba747385047b85ae751f83adb36435a3c1">TOP_LEFT</a> </div><div class="line"><a name="l00100"></a><span class="lineno"> 100</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>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00098">98</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="l00099"></a><span class="lineno"> 99</span> {</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <a class="code" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7bac397289ee45877be0cd49811fe245b4e">CENTER</a>, <span class="comment">/**< Samples are taken at pixel center */</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <a class="code" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7ba747385047b85ae751f83adb36435a3c1">TOP_LEFT</a> <span class="comment">/**< Samples are taken at pixel top left corner */</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</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>
@@ -8996,8 +9255,8 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00378">378</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="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.xhtml#a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b">TERM_CRITERIA_EPSILON</a>, </div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd">TERM_CRITERIA_ITERATIONS</a>, </div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29">TERM_CRITERIA_BOTH</a> </div><div class="line"><a name="l00383"></a><span class="lineno"> 383</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>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00387">387</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00388"></a><span class="lineno"> 388</span> {</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b">TERM_CRITERIA_EPSILON</a>, <span class="comment">/**< Terminate when within epsilon of a threshold */</span></div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd">TERM_CRITERIA_ITERATIONS</a>, <span class="comment">/**< Terminate after a maximum number of iterations */</span></div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29">TERM_CRITERIA_BOTH</a> <span class="comment">/**< Terminate on whichever of the other conditions occurs first */</span></div><div class="line"><a name="l00392"></a><span class="lineno"> 392</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 -->
@@ -9031,8 +9290,8 @@
</td></tr>
</table>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00371">371</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="l00372"></a><span class="lineno"> 372</span> {</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  <a class="code" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a98ad0e8750ae10ad556ed7a62affb452">BINARY</a>, </div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  <a class="code" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2">RANGE</a> </div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2"><div class="ttname"><a href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2">arm_compute::ThresholdType::RANGE</a></div><div class="ttdoc">Threshold with two values.</div></div>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00380">380</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="l00381"></a><span class="lineno"> 381</span> {</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  <a class="code" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a98ad0e8750ae10ad556ed7a62affb452">BINARY</a>, <span class="comment">/**< Threshold with one value */</span></div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <a class="code" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2">RANGE</a> <span class="comment">/**< Threshold with two values*/</span></div><div class="line"><a name="l00384"></a><span class="lineno"> 384</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>
@@ -9090,10 +9349,11 @@
<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>
-<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="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> <a class="code" href="namespace_gemm_tuner.xhtml#ae81948490ddf54e80a22593640178350">required</a> - <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a75b73e17c4ebe901e44af3b2b9846ab3">step</a> * ((<a class="code" href="namespace_gemm_tuner.xhtml#ae81948490ddf54e80a22593640178350">required</a> - 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="namespace_gemm_tuner_xhtml_ae81948490ddf54e80a22593640178350"><div class="ttname"><a href="namespace_gemm_tuner.xhtml#ae81948490ddf54e80a22593640178350">GemmTuner.required</a></div><div class="ttdeci">required</div><div class="ttdef"><b>Definition:</b> <a href="_gemm_tuner_8py_source.xhtml#l00532">GemmTuner.py:532</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#l00466">Error.h:466</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">References <a class="el" href="_error_8h_source.xhtml#l00466">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_gemm_tuner_8py_source.xhtml#l00532">GemmTuner::required</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>
@@ -9145,13 +9405,13 @@
</dl>
<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#l00657">657</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="l00658"></a><span class="lineno"> 658</span> {</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>  TensorShape output{ <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a> };</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="comment">// Force width to be even for formats which require subsampling of the U and V channels</span></div><div class="line"><a name="l00662"></a><span class="lineno"> 662</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="l00663"></a><span class="lineno"> 663</span>  {</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</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="l00665"></a><span class="lineno"> 665</span>  }</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="comment">// Force height to be even for formats which require subsampling of the U and V channels</span></div><div class="line"><a name="l00668"></a><span class="lineno"> 668</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="l00669"></a><span class="lineno"> 669</span>  {</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</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="l00671"></a><span class="lineno"> 671</span>  }</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span> </div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span>  <span class="keywordflow">return</span> output;</div><div class="line"><a name="l00674"></a><span class="lineno"> 674</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#l00563">Utils.h:563</a></div></div>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00663">663</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="l00664"></a><span class="lineno"> 664</span> {</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>  TensorShape output{ <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a> };</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="comment">// Force width to be even for formats which require subsampling of the U and V channels</span></div><div class="line"><a name="l00668"></a><span class="lineno"> 668</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="l00669"></a><span class="lineno"> 669</span>  {</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</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="l00671"></a><span class="lineno"> 671</span>  }</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span> </div><div class="line"><a name="l00673"></a><span class="lineno"> 673</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="l00674"></a><span class="lineno"> 674</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="l00675"></a><span class="lineno"> 675</span>  {</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</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="l00677"></a><span class="lineno"> 677</span>  }</div><div class="line"><a name="l00678"></a><span class="lineno"> 678</span> </div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>  <span class="keywordflow">return</span> output;</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</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#l00569">Utils.h:569</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#l00552">Utils.h:552</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#l00558">Utils.h:558</a></div></div>
</div><!-- fragment -->
-<p class="reference">References <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00552">has_format_horizontal_subsampling()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00563">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">References <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00558">has_format_horizontal_subsampling()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00569">has_format_vertical_subsampling()</a>, <a class="el" href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00097">arm_compute::test::validation::shape</a>, and <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#l00303">error_on_tensors_not_even()</a>.</p>
@@ -9209,10 +9469,11 @@
<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>
-<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="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> <a class="code" href="namespace_gemm_tuner.xhtml#ae81948490ddf54e80a22593640178350">required</a> + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a75b73e17c4ebe901e44af3b2b9846ab3">step</a> * ((available - <a class="code" href="namespace_gemm_tuner.xhtml#ae81948490ddf54e80a22593640178350">required</a> + <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="namespace_gemm_tuner_xhtml_ae81948490ddf54e80a22593640178350"><div class="ttname"><a href="namespace_gemm_tuner.xhtml#ae81948490ddf54e80a22593640178350">GemmTuner.required</a></div><div class="ttdeci">required</div><div class="ttdef"><b>Definition:</b> <a href="_gemm_tuner_8py_source.xhtml#l00532">GemmTuner.py:532</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#l00466">Error.h:466</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">References <a class="el" href="_error_8h_source.xhtml#l00466">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_gemm_tuner_8py_source.xhtml#l00532">GemmTuner::required</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>
@@ -9243,12 +9504,12 @@
</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="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00139">139</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="l00140"></a><span class="lineno"> 140</span> {</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a6c4a5ca34ebb51d4e2e119a110e4c8f0">device_supports_extension</a>(device, <span class="stringliteral">"cl_arm_non_uniform_work_group_size"</span>);</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</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#l00187">CLHelpers.cpp:187</a></div></div>
+<p class="definition">Definition at line <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00194">194</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="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> <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="l00197"></a><span class="lineno"> 197</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#l00242">CLHelpers.cpp:242</a></div></div>
</div><!-- fragment -->
-<p class="reference">References <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00187">device_supports_extension()</a>.</p>
+<p class="reference">References <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00242">device_supports_extension()</a>.</p>
-<p class="reference">Referenced by <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l01043">CLKernelLibrary::create_kernel()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l01070">CLKernelLibrary::create_kernel()</a>.</p>
</div>
</div>
@@ -9317,14 +9578,14 @@
</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#l00201">201</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</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#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#a5f5b6c4337eac9e2e0046ca2304d80dc">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>
+<p class="definition">Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00202">202</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
+<div class="fragment"><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>  <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="l00209"></a><span class="lineno"> 209</span>  {</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.set_data_type(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a5f5b6c4337eac9e2e0046ca2304d80dc">data_type</a>);</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_num_channels(num_channels);</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_tensor_shape(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>);</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</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="l00214"></a><span class="lineno"> 214</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  }</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00097">AbsoluteDifference.cpp:97</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a5f5b6c4337eac9e2e0046ca2304d80dc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a5f5b6c4337eac9e2e0046ca2304d80dc">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_addition_8cpp_source.xhtml#l00135">ArithmeticAddition.cpp:135</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="_c_l_2_arithmetic_addition_8cpp_source.xhtml#l00135">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#l00040">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#l00080">NEReduceMean::configure()</a>, <a class="el" href="_c_l_reverse_kernel_8cpp_source.xhtml#l00068">CLReverseKernel::configure()</a>, <a class="el" href="_c_p_p_detection_output_layer_8cpp_source.xhtml#l00391">CPPDetectionOutputLayer::configure()</a>, <a class="el" href="_c_l_depth_to_space_layer_kernel_8cpp_source.xhtml#l00066">CLDepthToSpaceLayerKernel::configure()</a>, <a class="el" href="_c_l_space_to_depth_layer_kernel_8cpp_source.xhtml#l00067">CLSpaceToDepthLayerKernel::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_permute_kernel_8cpp_source.xhtml#l00081">CLPermuteKernel::configure()</a>, <a class="el" href="_c_l_reorg_layer_kernel_8cpp_source.xhtml#l00076">CLReorgLayerKernel::configure()</a>, <a class="el" href="_n_e_tile_kernel_8cpp_source.xhtml#l00064">NETileKernel::configure()</a>, <a class="el" href="_g_c_concatenate_layer_8cpp_source.xhtml#l00043">GCConcatenateLayer::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="_g_c_activation_layer_kernel_8cpp_source.xhtml#l00047">GCActivationLayerKernel::configure()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00119">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_reverse_kernel_8cpp_source.xhtml#l00077">NEReverseKernel::configure()</a>, <a class="el" href="_n_e_depth_to_space_layer_kernel_8cpp_source.xhtml#l00070">NEDepthToSpaceLayerKernel::configure()</a>, <a class="el" href="_n_e_pad_layer_8cpp_source.xhtml#l00201">NEPadLayer::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="_n_e_space_to_depth_layer_kernel_8cpp_source.xhtml#l00073">NESpaceToDepthLayerKernel::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_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="_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="_c_p_p_top_k_v_kernel_8cpp_source.xhtml#l00101">CPPTopKVKernel::configure()</a>, <a class="el" href="_n_e_reorg_layer_kernel_8cpp_source.xhtml#l00075">NEReorgLayerKernel::configure()</a>, <a class="el" href="_n_e_transpose_kernel_8cpp_source.xhtml#l00500">NETransposeKernel::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_convert_fully_connected_weights_kernel_8cpp_source.xhtml#l00040">CLConvertFullyConnectedWeightsKernel::configure()</a>, <a class="el" href="_c_p_p_permute_kernel_8cpp_source.xhtml#l00108">CPPPermuteKernel::configure()</a>, <a class="el" href="_n_e_normalization_layer_kernel_8cpp_source.xhtml#l00115">NENormalizationLayerKernel::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_pad_layer_8cpp_source.xhtml#l00164">CLPadLayer::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="_c_l_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00107">CLFuseBatchNormalizationKernel::configure()</a>, <a class="el" href="_n_e_permute_kernel_8cpp_source.xhtml#l00242">NEPermuteKernel::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="_n_e_f_f_t_radix_stage_kernel_8cpp_source.xhtml#l00985">NEFFTRadixStageKernel::configure()</a>, <a class="el" href="_n_e_direct_convolution_layer_output_stage_kernel_8cpp_source.xhtml#l00467">NEDirectConvolutionLayerOutputStageKernel::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_elementwise_unary_kernel_8cpp_source.xhtml#l00182">NEElementwiseUnaryKernel::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="_n_e_select_kernel_8cpp_source.xhtml#l00167">NESelectKernel::configure()</a>, <a class="el" href="_n_e_batch_to_space_layer_kernel_8cpp_source.xhtml#l00102">NEBatchToSpaceLayerKernel::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#l00121">CLSpaceToBatchLayerKernel::configure()</a>, <a class="el" href="_n_e_gather_kernel_8cpp_source.xhtml#l00107">NEGatherKernel::configure()</a>, <a class="el" href="_c_l_winograd_output_transform_kernel_8cpp_source.xhtml#l00146">CLWinogradOutputTransformKernel::configure()</a>, <a class="el" href="_c_p_p_detection_post_process_layer_8cpp_source.xhtml#l00191">CPPDetectionPostProcessLayer::configure()</a>, <a class="el" href="_n_e_depthwise_convolution_assembly_dispatch_8cpp_source.xhtml#l00267">NEDepthwiseConvolutionAssemblyDispatch::configure()</a>, <a class="el" href="_n_e_direct_convolution_layer_kernel_8cpp_source.xhtml#l01464">NEDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_c_p_p_non_maximum_suppression_kernel_8cpp_source.xhtml#l00062">CPPNonMaximumSuppressionKernel::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="_n_e_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00962">NEGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_n_e_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00422">NEFuseBatchNormalizationKernel::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_direct_convolution_layer_kernel_8cpp_source.xhtml#l00389">CLDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_n_e_space_to_batch_layer_kernel_8cpp_source.xhtml#l00109">NESpaceToBatchLayerKernel::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="_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="_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#l00096">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#l00095">NEWeightsReshapeKernel::configure()</a>, <a class="el" href="_c_l_f_f_t_convolution_layer_8cpp_source.xhtml#l00098">CLFFTConvolutionLayer::configure()</a>, <a class="el" href="_n_e_f_f_t_convolution_layer_8cpp_source.xhtml#l00097">NEFFTConvolutionLayer::configure()</a>, <a class="el" href="_c_l_generate_proposals_layer_8cpp_source.xhtml#l00058">CLGenerateProposalsLayer::configure()</a>, <a class="el" href="_c_l_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00058">CLLSTMLayerQuantized::configure()</a>, <a class="el" href="_n_e_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00057">NELSTMLayerQuantized::configure()</a>, <a class="el" href="_c_l_direct_deconvolution_layer_8cpp_source.xhtml#l00107">CLDirectDeconvolutionLayer::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#l00115">NEDeconvolutionLayer::configure()</a>, <a class="el" href="_n_e_g_e_m_m_interleaved_wrapper_8cpp_source.xhtml#l00342">NEGEMMInterleavedWrapper::configure()</a>, <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00220">CLLogits1DMaxShiftExpSumKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_8cpp_source.xhtml#l00256">CLDepthwiseConvolutionLayer::configure()</a>, <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00337">CLLogits1DNormKernel::configure()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00711">NEDepthwiseConvolutionLayer::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_g_e_m_m_8cpp_source.xhtml#l00139">NEGEMM::validate()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_core_8cpp_source.xhtml#l00237">CLGEMMLowpMatrixMultiplyCore::validate()</a>, <a class="el" href="_n_e_g_e_m_m_lowp_matrix_multiply_core_8cpp_source.xhtml#l00224">NEGEMMLowpMatrixMultiplyCore::validate()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00373">CLGEMMConvolutionLayer::validate()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00858">NEDepthwiseConvolutionLayer::validate()</a>, and <a class="el" href="_n_e_depthwise_convolution_layer_native_kernel_8cpp_source.xhtml#l00221">validate_and_configure_window()</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#l00040">CLReduceMean::configure()</a>, <a class="el" href="_n_e_reduce_mean_8cpp_source.xhtml#l00128">NEReduceMean::configure()</a>, <a class="el" href="_c_l_floor_kernel_8cpp_source.xhtml#l00079">CLFloorKernel::configure()</a>, <a class="el" href="_c_p_p_detection_output_layer_8cpp_source.xhtml#l00391">CPPDetectionOutputLayer::configure()</a>, <a class="el" href="_c_l_reverse_kernel_8cpp_source.xhtml#l00068">CLReverseKernel::configure()</a>, <a class="el" href="_c_l_space_to_depth_layer_kernel_8cpp_source.xhtml#l00067">CLSpaceToDepthLayerKernel::configure()</a>, <a class="el" href="_c_l_generate_proposals_layer_kernel_8cpp_source.xhtml#l00073">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_permute_kernel_8cpp_source.xhtml#l00076">CLPermuteKernel::configure()</a>, <a class="el" href="_c_l_depth_to_space_layer_kernel_8cpp_source.xhtml#l00066">CLDepthToSpaceLayerKernel::configure()</a>, <a class="el" href="_n_e_tile_kernel_8cpp_source.xhtml#l00064">NETileKernel::configure()</a>, <a class="el" href="_g_c_concatenate_layer_8cpp_source.xhtml#l00043">GCConcatenateLayer::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_reorg_layer_kernel_8cpp_source.xhtml#l00076">CLReorgLayerKernel::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_activation_layer_kernel_8cpp_source.xhtml#l00119">CLActivationLayerKernel::configure()</a>, <a class="el" href="_n_e_reduction_operation_8cpp_source.xhtml#l00100">NEReductionOperation::configure()</a>, <a class="el" href="_n_e_depth_to_space_layer_kernel_8cpp_source.xhtml#l00070">NEDepthToSpaceLayerKernel::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="_n_e_reverse_kernel_8cpp_source.xhtml#l00077">NEReverseKernel::configure()</a>, <a class="el" href="_n_e_space_to_depth_layer_kernel_8cpp_source.xhtml#l00073">NESpaceToDepthLayerKernel::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="_g_c_g_e_m_m_transpose1x_w_kernel_8cpp_source.xhtml#l00041">GCGEMMTranspose1xWKernel::configure()</a>, <a class="el" href="_n_e_upsample_layer_kernel_8cpp_source.xhtml#l00295">NEUpsampleLayerKernel::configure()</a>, <a class="el" href="_c_l_bounding_box_transform_kernel_8cpp_source.xhtml#l00090">CLBoundingBoxTransformKernel::configure()</a>, <a class="el" href="_n_e_generate_proposals_layer_kernel_8cpp_source.xhtml#l00071">NEComputeAllAnchorsKernel::configure()</a>, <a class="el" href="_c_p_p_top_k_v_kernel_8cpp_source.xhtml#l00101">CPPTopKVKernel::configure()</a>, <a class="el" href="_n_e_reorg_layer_kernel_8cpp_source.xhtml#l00075">NEReorgLayerKernel::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_transpose_kernel_8cpp_source.xhtml#l00500">NETransposeKernel::configure()</a>, <a class="el" href="_c_l_reduction_operation_8cpp_source.xhtml#l00217">CLReductionOperation::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_p_p_permute_kernel_8cpp_source.xhtml#l00108">CPPPermuteKernel::configure()</a>, <a class="el" href="_n_e_normalization_layer_kernel_8cpp_source.xhtml#l00115">NENormalizationLayerKernel::configure()</a>, <a class="el" href="_g_c_activation_layer_kernel_8cpp_source.xhtml#l00047">GCActivationLayerKernel::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_pad_layer_8cpp_source.xhtml#l00164">NEPadLayer::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_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00107">CLFuseBatchNormalizationKernel::configure()</a>, <a class="el" href="_n_e_permute_kernel_8cpp_source.xhtml#l00236">NEPermuteKernel::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#l00467">NEDirectConvolutionLayerOutputStageKernel::configure()</a>, <a class="el" href="_n_e_elementwise_unary_kernel_8cpp_source.xhtml#l00182">NEElementwiseUnaryKernel::configure()</a>, <a class="el" href="_n_e_f_f_t_radix_stage_kernel_8cpp_source.xhtml#l00985">NEFFTRadixStageKernel::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_g_e_m_m_interleave4x4_kernel_8cpp_source.xhtml#l00177">NEGEMMInterleave4x4Kernel::configure()</a>, <a class="el" href="_n_e_select_kernel_8cpp_source.xhtml#l00167">NESelectKernel::configure()</a>, <a class="el" href="_c_l_space_to_batch_layer_kernel_8cpp_source.xhtml#l00121">CLSpaceToBatchLayerKernel::configure()</a>, <a class="el" href="_n_e_batch_to_space_layer_kernel_8cpp_source.xhtml#l00102">NEBatchToSpaceLayerKernel::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_gather_kernel_8cpp_source.xhtml#l00107">NEGatherKernel::configure()</a>, <a class="el" href="_n_e_pad_layer_kernel_8cpp_source.xhtml#l00183">NEPadLayerKernel::configure()</a>, <a class="el" href="_c_l_winograd_output_transform_kernel_8cpp_source.xhtml#l00138">CLWinogradOutputTransformKernel::configure()</a>, <a class="el" href="_n_e_depthwise_convolution_assembly_dispatch_8cpp_source.xhtml#l00267">NEDepthwiseConvolutionAssemblyDispatch::configure()</a>, <a class="el" href="_n_e_direct_convolution_layer_kernel_8cpp_source.xhtml#l01464">NEDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_c_p_p_non_maximum_suppression_kernel_8cpp_source.xhtml#l00061">CPPNonMaximumSuppressionKernel::configure()</a>, <a class="el" href="_c_p_p_detection_post_process_layer_8cpp_source.xhtml#l00191">CPPDetectionPostProcessLayer::configure()</a>, <a class="el" href="_n_e_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00422">NEFuseBatchNormalizationKernel::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="_n_e_r_o_i_pooling_layer_kernel_8cpp_source.xhtml#l00046">NEROIPoolingLayerKernel::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_direct_convolution_layer_kernel_8cpp_source.xhtml#l00412">CLDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_n_e_space_to_batch_layer_kernel_8cpp_source.xhtml#l00109">NESpaceToBatchLayerKernel::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="_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="_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#l00096">NEGEMMTranspose1xWKernel::configure()</a>, <a class="el" href="_c_l_weights_reshape_kernel_8cpp_source.xhtml#l00079">CLWeightsReshapeKernel::configure()</a>, <a class="el" href="_n_e_weights_reshape_kernel_8cpp_source.xhtml#l00095">NEWeightsReshapeKernel::configure()</a>, <a class="el" href="_n_e_f_f_t_convolution_layer_8cpp_source.xhtml#l00097">NEFFTConvolutionLayer::configure()</a>, <a class="el" href="_c_l_f_f_t_convolution_layer_8cpp_source.xhtml#l00098">CLFFTConvolutionLayer::configure()</a>, <a class="el" href="_n_e_generate_proposals_layer_8cpp_source.xhtml#l00065">NEGenerateProposalsLayer::configure()</a>, <a class="el" href="_c_l_generate_proposals_layer_8cpp_source.xhtml#l00065">CLGenerateProposalsLayer::configure()</a>, <a class="el" href="_c_l_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00058">CLLSTMLayerQuantized::configure()</a>, <a class="el" href="_n_e_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00057">NELSTMLayerQuantized::configure()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00201">GCLogits1DNormKernel::configure()</a>, <a class="el" href="_c_l_direct_deconvolution_layer_8cpp_source.xhtml#l00104">CLDirectDeconvolutionLayer::configure()</a>, <a class="el" href="_n_e_deconvolution_layer_8cpp_source.xhtml#l00112">NEDeconvolutionLayer::configure()</a>, <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00221">CLLogits1DMaxShiftExpSumKernel::configure()</a>, <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00340">CLLogits1DNormKernel::configure()</a>, <a class="el" href="_n_e_split_8cpp_source.xhtml#l00090">NESplit::validate()</a>, <a class="el" href="_c_l_split_8cpp_source.xhtml#l00090">CLSplit::validate()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_core_8cpp_source.xhtml#l00272">CLGEMMLowpMatrixMultiplyCore::validate()</a>, <a class="el" href="_n_e_g_e_m_m_8cpp_source.xhtml#l00172">NEGEMM::validate()</a>, <a class="el" href="_n_e_g_e_m_m_lowp_matrix_multiply_core_8cpp_source.xhtml#l00281">NEGEMMLowpMatrixMultiplyCore::validate()</a>, and <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00400">CLGEMMConvolutionLayer::validate()</a>.</p>
</div>
</div>
@@ -9372,8 +9633,8 @@
</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>
-<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="definition">Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00220">220</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
+<div class="fragment"><div class="line"><a name="l00221"></a><span class="lineno"> 221</span> {</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordflow">if</span>(info_sink.tensor_shape().total_size() == 0)</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  {</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  info_sink.set_data_type(info_source.data_type());</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  info_sink.set_num_channels(info_source.num_channels());</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  info_sink.set_tensor_shape(info_source.tensor_shape());</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  info_sink.set_quantization_info(info_source.quantization_info());</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  info_sink.set_data_layout(info_source.data_layout());</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  }</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span> }</div></div><!-- fragment -->
<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>
@@ -9393,11 +9654,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-2019 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-2019 ARM Limited.">arm_compute</a> library build information </dd></dl>
-<p class="reference">Referenced by <a class="el" href="main_8cpp_source.xhtml#l00090">main()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="main_8cpp_source.xhtml#l00093">main()</a>.</p>
</div>
</div>
@@ -9447,12 +9708,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The absolute value of the sum of the coefficients if they don't add up to 0, otherwise 1. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00637">637</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="l00638"></a><span class="lineno"> 638</span> {</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>  <span class="keyword">const</span> <span class="keywordtype">size_t</span> size = matrix_size * matrix_size;</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span> </div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>  <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="l00642"></a><span class="lineno"> 642</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>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00643">643</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="l00644"></a><span class="lineno"> 644</span> {</div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>  <span class="keyword">const</span> <span class="keywordtype">size_t</span> size = matrix_size * matrix_size;</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span> </div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>  <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="l00648"></a><span class="lineno"> 648</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#l00060">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>
+<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>
</div>
@@ -9501,25 +9762,25 @@
<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>
-<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#l00339">Types.h:339</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#l00348">Types.h:348</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#l00247">Types.h:247</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#l00256">Types.h:256</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#l00075">Window.h:75</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#l00341">Types.h:341</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#l00350">Types.h:350</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#l00066">Utils.h:66</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#l00048">Window.inl:48</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#l00049">Window.inl:49</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#l00342">Types.h:342</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#l00340">Types.h:340</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#l00351">Types.h:351</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#l00349">Types.h:349</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#l00246">Types.h:246</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#l00255">Types.h:255</a></div></div>
</div><!-- fragment -->
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00246">ValidRegion::anchor</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00341">BorderSize::bottom</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00066">ceil_to_multiple()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00342">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#l00340">BorderSize::right</a>, <a class="el" href="_window_8inl_source.xhtml#l00048">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#l00247">ValidRegion::shape</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00339">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">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00255">ValidRegion::anchor</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00350">BorderSize::bottom</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00066">ceil_to_multiple()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00351">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#l00349">BorderSize::right</a>, <a class="el" href="_window_8inl_source.xhtml#l00049">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#l00256">ValidRegion::shape</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00348">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>
+<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>, and <a class="el" href="_g_c_depthwise_convolution_layer3x3_kernel_8cpp_source.xhtml#l00051">GCDepthwiseConvolutionLayer3x3Kernel::configure()</a>.</p>
</div>
</div>
@@ -9634,26 +9895,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#l00028">28</a> of file <a class="el" href="src_2core_2_helpers_8cpp_source.xhtml">Helpers.cpp</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 = <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#l00339">Types.h:339</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#l00348">Types.h:348</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#l00247">Types.h:247</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#l00259">Types.h:259</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#l00256">Types.h:256</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#l00268">Types.h:268</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#l00075">Window.h:75</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#l00341">Types.h:341</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#l00350">Types.h:350</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#l00066">Utils.h:66</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#l00048">Window.inl:48</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#l00049">Window.inl:49</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#l00342">Types.h:342</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#l00340">Types.h:340</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#l00351">Types.h:351</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#l00349">Types.h:349</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#l00246">Types.h:246</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#l00255">Types.h:255</a></div></div>
</div><!-- fragment -->
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00246">ValidRegion::anchor</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00341">BorderSize::bottom</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00066">ceil_to_multiple()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00342">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#l00340">BorderSize::right</a>, <a class="el" href="_window_8inl_source.xhtml#l00048">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#l00247">ValidRegion::shape</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00339">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">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00255">ValidRegion::anchor</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00350">BorderSize::bottom</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00066">ceil_to_multiple()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00351">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#l00349">BorderSize::right</a>, <a class="el" href="_window_8inl_source.xhtml#l00049">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#l00256">ValidRegion::shape</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00348">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_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="_c_l_median3x3_kernel_8cpp_source.xhtml#l00039">CLMedian3x3Kernel::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_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="_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="_n_e_median3x3_kernel_8cpp_source.xhtml#l00054">NEMedian3x3Kernel::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#l00119">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="_c_l_non_linear_filter_kernel_8cpp_source.xhtml#l00056">CLNonLinearFilterKernel::configure()</a>, <a class="el" href="_c_l_dequantization_layer_kernel_8cpp_source.xhtml#l00077">CLDequantizationLayerKernel::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_batch_to_space_layer_kernel_8cpp_source.xhtml#l00084">CLBatchToSpaceLayerKernel::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_canny_edge_kernel_8cpp_source.xhtml#l00040">CLGradientKernel::configure()</a>, <a class="el" href="_c_l_depth_to_space_layer_kernel_8cpp_source.xhtml#l00066">CLDepthToSpaceLayerKernel::configure()</a>, <a class="el" href="_c_l_permute_kernel_8cpp_source.xhtml#l00081">CLPermuteKernel::configure()</a>, <a class="el" href="_c_l_space_to_depth_layer_kernel_8cpp_source.xhtml#l00067">CLSpaceToDepthLayerKernel::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_deconvolution_layer_upsample_kernel_8cpp_source.xhtml#l00070">CLDeconvolutionLayerUpsampleKernel::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_bitwise_or_kernel_8cpp_source.xhtml#l00041">CLBitwiseOrKernel::configure()</a>, <a class="el" href="_c_l_quantization_layer_kernel_8cpp_source.xhtml#l00075">CLQuantizationLayerKernel::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_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_space_to_batch_layer_kernel_8cpp_source.xhtml#l00090">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="_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_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00047">GCPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_c_l_memset_kernel_8cpp_source.xhtml#l00042">CLMemsetKernel::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#l00077">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="_n_e_batch_to_space_layer_kernel_8cpp_source.xhtml#l00088">NEBatchToSpaceLayerKernel::configure()</a>, <a class="el" href="_n_e_depth_to_space_layer_kernel_8cpp_source.xhtml#l00070">NEDepthToSpaceLayerKernel::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_space_to_depth_layer_kernel_8cpp_source.xhtml#l00073">NESpaceToDepthLayerKernel::configure()</a>, <a class="el" href="_c_l_crop_kernel_8cpp_source.xhtml#l00049">CLCropKernel::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_memset_kernel_8cpp_source.xhtml#l00040">NEMemsetKernel::configure()</a>, <a class="el" href="_n_e_reorg_layer_kernel_8cpp_source.xhtml#l00075">NEReorgLayerKernel::configure()</a>, <a class="el" href="_n_e_space_to_batch_layer_kernel_8cpp_source.xhtml#l00094">NESpaceToBatchLayerKernel::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_quantization_layer_kernel_8cpp_source.xhtml#l00078">NEQuantizationLayerKernel::configure()</a>, <a class="el" href="_c_p_p_upsample_kernel_8cpp_source.xhtml#l00049">CPPUpsampleKernel::configure()</a>, <a class="el" href="_c_l_channel_combine_kernel_8cpp_source.xhtml#l00054">CLChannelCombineKernel::configure()</a>, <a class="el" href="_n_e_derivative_kernel_8cpp_source.xhtml#l00054">NEDerivativeKernel::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_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00632">NEHOGOrientationBinningKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00060">CLConvolutionKernel< matrix_size >::configure()</a>, <a class="el" href="_c_p_p_permute_kernel_8cpp_source.xhtml#l00108">CPPPermuteKernel::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#l00044">GCDepthConcatenateLayerKernel::configure()</a>, <a class="el" href="_c_l_depthwise_im2_col_kernel_8cpp_source.xhtml#l00066">CLDepthwiseIm2ColKernel::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#l00359">NEFastCornersKernel::configure()</a>, <a class="el" href="_n_e_threshold_kernel_8cpp_source.xhtml#l00042">NEThresholdKernel::configure()</a>, <a class="el" href="_c_l_integral_image_kernel_8cpp_source.xhtml#l00085">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_non_linear_filter_kernel_8cpp_source.xhtml#l00353">NENonLinearFilterKernel::configure()</a>, <a class="el" href="_c_l_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00107">CLFuseBatchNormalizationKernel::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_magnitude_phase_kernel_8cpp_source.xhtml#l00250">NEMagnitudePhaseKernel< mag_type, phase_type >::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_permute_kernel_8cpp_source.xhtml#l00242">NEPermuteKernel::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_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_elementwise_unary_kernel_8cpp_source.xhtml#l00182">NEElementwiseUnaryKernel::configure()</a>, <a class="el" href="_c_l_harris_corners_kernel_8cpp_source.xhtml#l00054">CLHarrisScoreKernel::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_depthwise_im2_col_kernel_8cpp_source.xhtml#l00139">NEDepthwiseIm2ColKernel::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_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="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00050">CLFastCornersKernel::configure()</a>, <a class="el" href="_c_p_p_non_maximum_suppression_kernel_8cpp_source.xhtml#l00062">CPPNonMaximumSuppressionKernel::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="_n_e_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00422">NEFuseBatchNormalizationKernel::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="_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_histogram_kernel_8cpp_source.xhtml#l00192">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#l00150">CLGaussianPyramidVertKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00120">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#l00139">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_sobel5x5_kernel_8cpp_source.xhtml#l00148">CLSobel5x5VertKernel::configure()</a>, <a class="el" href="_c_l_sobel7x7_kernel_8cpp_source.xhtml#l00150">CLSobel7x7VertKernel::configure()</a>, <a class="el" href="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00133">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#l00199">CLSeparableConvolutionVertKernel< matrix_size >::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00194">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#l00281">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_crop_kernel_8cpp_source.xhtml#l00296">NECropKernel::configure_output_shape()</a>, <a class="el" href="_c_l_crop_resize_8cpp_source.xhtml#l00229">CLCropResize::run()</a>, and <a class="el" href="_n_e_depthwise_convolution_layer_native_kernel_8cpp_source.xhtml#l00221">validate_and_configure_window()</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_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_element_wise_unary_layer_kernel_8cpp_source.xhtml#l00052">CLElementWiseUnaryLayerKernel::configure()</a>, <a class="el" href="_c_l_gaussian3x3_kernel_8cpp_source.xhtml#l00042">CLGaussian3x3Kernel::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="_n_e_integral_image_kernel_8cpp_source.xhtml#l00038">NEIntegralImageKernel::configure()</a>, <a class="el" href="_c_l_warp_affine_kernel_8cpp_source.xhtml#l00061">CLWarpAffineKernel::configure()</a>, <a class="el" href="_n_e_reshape_layer_kernel_8cpp_source.xhtml#l00075">NEReshapeLayerKernel::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#l00119">NEBox3x3Kernel::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_dequantization_layer_kernel_8cpp_source.xhtml#l00077">CLDequantizationLayerKernel::configure()</a>, <a class="el" href="_c_l_reverse_kernel_8cpp_source.xhtml#l00068">CLReverseKernel::configure()</a>, <a class="el" href="_c_l_reshape_layer_kernel_8cpp_source.xhtml#l00067">CLReshapeLayerKernel::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_depth_to_space_layer_kernel_8cpp_source.xhtml#l00066">CLDepthToSpaceLayerKernel::configure()</a>, <a class="el" href="_c_l_permute_kernel_8cpp_source.xhtml#l00076">CLPermuteKernel::configure()</a>, <a class="el" href="_c_l_space_to_depth_layer_kernel_8cpp_source.xhtml#l00067">CLSpaceToDepthLayerKernel::configure()</a>, <a class="el" href="_c_l_generate_proposals_layer_kernel_8cpp_source.xhtml#l00073">CLComputeAllAnchorsKernel::configure()</a>, <a class="el" href="_c_l_deconvolution_layer_upsample_kernel_8cpp_source.xhtml#l00070">CLDeconvolutionLayerUpsampleKernel::configure()</a>, <a class="el" href="_c_l_bitwise_and_kernel_8cpp_source.xhtml#l00040">CLBitwiseAndKernel::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_bitwise_or_kernel_8cpp_source.xhtml#l00041">CLBitwiseOrKernel::configure()</a>, <a class="el" href="_c_l_space_to_batch_layer_kernel_8cpp_source.xhtml#l00090">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_bitwise_xor_kernel_8cpp_source.xhtml#l00041">CLBitwiseXorKernel::configure()</a>, <a class="el" href="_n_e_tile_kernel_8cpp_source.xhtml#l00064">NETileKernel::configure()</a>, <a class="el" href="_i_g_c_simple_kernel_8cpp_source.xhtml#l00038">IGCSimpleKernel::configure()</a>, <a class="el" href="_g_c_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00047">GCPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_i_c_l_simple_kernel_8cpp_source.xhtml#l00038">ICLSimpleKernel::configure()</a>, <a class="el" href="_c_l_memset_kernel_8cpp_source.xhtml#l00042">CLMemsetKernel::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_l_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00048">CLHOGOrientationBinningKernel::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="_n_e_warp_kernel_8cpp_source.xhtml#l00067">INEWarpKernel::configure()</a>, <a class="el" href="_n_e_batch_to_space_layer_kernel_8cpp_source.xhtml#l00088">NEBatchToSpaceLayerKernel::configure()</a>, <a class="el" href="_n_e_depth_to_space_layer_kernel_8cpp_source.xhtml#l00070">NEDepthToSpaceLayerKernel::configure()</a>, <a class="el" href="_n_e_reverse_kernel_8cpp_source.xhtml#l00077">NEReverseKernel::configure()</a>, <a class="el" href="_c_p_p_flip_weights_kernel_8cpp_source.xhtml#l00069">CPPFlipWeightsKernel::configure()</a>, <a class="el" href="_g_c_absolute_difference_kernel_8cpp_source.xhtml#l00047">GCAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_c_l_crop_kernel_8cpp_source.xhtml#l00049">CLCropKernel::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_space_to_depth_layer_kernel_8cpp_source.xhtml#l00073">NESpaceToDepthLayerKernel::configure()</a>, <a class="el" href="_c_l_bounding_box_transform_kernel_8cpp_source.xhtml#l00090">CLBoundingBoxTransformKernel::configure()</a>, <a class="el" href="_c_l_magnitude_phase_kernel_8cpp_source.xhtml#l00046">CLMagnitudePhaseKernel::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_mean_std_dev_kernel_8cpp_source.xhtml#l00066">CLMeanStdDevKernel::configure()</a>, <a class="el" href="_n_e_space_to_batch_layer_kernel_8cpp_source.xhtml#l00094">NESpaceToBatchLayerKernel::configure()</a>, <a class="el" href="_n_e_generate_proposals_layer_kernel_8cpp_source.xhtml#l00071">NEComputeAllAnchorsKernel::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="_n_e_reorg_layer_kernel_8cpp_source.xhtml#l00075">NEReorgLayerKernel::configure()</a>, <a class="el" href="_c_p_p_upsample_kernel_8cpp_source.xhtml#l00049">CPPUpsampleKernel::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#l00054">CLChannelCombineKernel::configure()</a>, <a class="el" href="_c_p_p_permute_kernel_8cpp_source.xhtml#l00108">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_activation_layer_kernel_8cpp_source.xhtml#l00047">GCActivationLayerKernel::configure()</a>, <a class="el" href="_g_c_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00044">GCDepthConcatenateLayerKernel::configure()</a>, <a class="el" href="_n_e_color_convert_kernel_8cpp_source.xhtml#l00045">NEColorConvertKernel::configure()</a>, <a class="el" href="_c_l_integral_image_kernel_8cpp_source.xhtml#l00085">CLIntegralImageVertKernel::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_quantization_layer_kernel_8cpp_source.xhtml#l00079">NEQuantizationLayerKernel::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_permute_kernel_8cpp_source.xhtml#l00236">NEPermuteKernel::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_magnitude_phase_kernel_8cpp_source.xhtml#l00250">NEMagnitudePhaseKernel< mag_type, phase_type >::configure()</a>, <a class="el" href="_c_l_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00107">CLFuseBatchNormalizationKernel::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_elementwise_unary_kernel_8cpp_source.xhtml#l00182">NEElementwiseUnaryKernel::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_l_harris_corners_kernel_8cpp_source.xhtml#l00054">CLHarrisScoreKernel::configure()</a>, <a class="el" href="_c_p_p_corner_candidates_kernel_8cpp_source.xhtml#l00076">CPPCornerCandidatesKernel::configure()</a>, <a class="el" href="_n_e_pad_layer_kernel_8cpp_source.xhtml#l00183">NEPadLayerKernel::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="_n_e_select_kernel_8cpp_source.xhtml#l00167">NESelectKernel::configure()</a>, <a class="el" href="_c_p_p_non_maximum_suppression_kernel_8cpp_source.xhtml#l00061">CPPNonMaximumSuppressionKernel::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="_n_e_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00422">NEFuseBatchNormalizationKernel::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="_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_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#l00079">CLWeightsReshapeKernel::configure()</a>, <a class="el" href="_c_l_gaussian_pyramid_kernel_8cpp_source.xhtml#l00150">CLGaussianPyramidVertKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00120">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#l00139">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_sobel5x5_kernel_8cpp_source.xhtml#l00148">CLSobel5x5VertKernel::configure()</a>, <a class="el" href="_c_l_sobel7x7_kernel_8cpp_source.xhtml#l00150">CLSobel7x7VertKernel::configure()</a>, <a class="el" href="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00133">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="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00194">CLEdgeTraceKernel::configure()</a>, <a class="el" href="_n_e_min_max_location_kernel_8cpp_source.xhtml#l00335">NEMinMaxLocationKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00281">CLConvolutionRectangleKernel::configure()</a>, <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l01427">NEConvolutionRectangleKernel::configure()</a>, <a class="el" href="_n_e_crop_kernel_8cpp_source.xhtml#l00296">NECropKernel::configure_output_shape()</a>, and <a class="el" href="_c_l_crop_resize_8cpp_source.xhtml#l00229">CLCropResize::run()</a>.</p>
</div>
</div>
@@ -9774,25 +10035,25 @@
<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>
-<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#l00339">Types.h:339</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#l00348">Types.h:348</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#l00247">Types.h:247</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#l00256">Types.h:256</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#l00075">Window.h:75</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#l00341">Types.h:341</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#l00350">Types.h:350</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#l00066">Utils.h:66</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#l00048">Window.inl:48</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#l00049">Window.inl:49</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#l00342">Types.h:342</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#l00340">Types.h:340</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#l00351">Types.h:351</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#l00349">Types.h:349</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#l00246">Types.h:246</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#l00255">Types.h:255</a></div></div>
</div><!-- fragment -->
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00246">ValidRegion::anchor</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00341">BorderSize::bottom</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00066">ceil_to_multiple()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00342">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#l00340">BorderSize::right</a>, <a class="el" href="_window_8inl_source.xhtml#l00048">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#l00247">ValidRegion::shape</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00339">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">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00255">ValidRegion::anchor</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00350">BorderSize::bottom</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00066">ceil_to_multiple()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00351">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#l00349">BorderSize::right</a>, <a class="el" href="_window_8inl_source.xhtml#l00049">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#l00256">ValidRegion::shape</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00348">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#l00130">CLSeparableConvolutionHorKernel< matrix_size >::configure()</a>, and <a class="el" href="_n_e_convolution_kernel_8cpp_source.xhtml#l00666">NESeparableConvolutionHorKernel< matrix_size >::configure()</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="_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_sobel5x5_kernel_8cpp_source.xhtml#l00050">CLSobel5x5HorKernel::configure()</a>, <a class="el" href="_n_e_sobel5x5_kernel_8cpp_source.xhtml#l00050">NESobel5x5HorKernel::configure()</a>, and <a class="el" href="_n_e_sobel7x7_kernel_8cpp_source.xhtml#l00153">NESobel7x7HorKernel::configure()</a>.</p>
</div>
</div>
@@ -9926,21 +10187,22 @@
</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#l00334">334</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="l00336"></a><span class="lineno"> 336</span> {</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</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>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">data_layout</a>, DataLayoutDimension::WIDTH);</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</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>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">data_layout</a>, DataLayoutDimension::HEIGHT);</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> in_width = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a865514e30baa11b11c8fa65f944532fb">input_shape</a>[width_idx];</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> in_height = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a865514e30baa11b11c8fa65f944532fb">input_shape</a>[height_idx];</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> kernel_width = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ae8f0126f051c787279a8c9ee3c3a5d55">weights_shape</a>[width_idx];</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> kernel_height = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ae8f0126f051c787279a8c9ee3c3a5d55">weights_shape</a>[height_idx];</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <span class="keyword">const</span> <span class="keyword">auto</span> &strides = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a00525ff582f16038a1d3819aa44a23a3">conv_info</a>.stride();</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="comment">// Calculate output dimensions</span></div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <span class="keyword">const</span> <span class="keyword">auto</span> is_ceil = static_cast<unsigned int>(rounding_type == DimensionRoundingType::CEIL);</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> out_width = ((in_width - is_ceil) + strides.first - 1) / strides.first + is_ceil;</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> out_height = ((in_height - is_ceil) + strides.second - 1) / strides.second + is_ceil;</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span> </div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  <span class="comment">// Calculate effective weights sizes</span></div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> real_weight_width = (kernel_width - 1) * <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad3fd4136244e42ad89b01c02b904336d">dilation</a>.x() + 1;</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> real_weight_height = (kernel_height - 1) * <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad3fd4136244e42ad89b01c02b904336d">dilation</a>.y() + 1;</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="comment">// Calculate total pad</span></div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> pad_width = std::max(0, static_cast<int>((out_width - 1) * strides.first + real_weight_width - in_width));</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> pad_height = std::max(0, static_cast<int>((out_height - 1) * strides.second + real_weight_height - in_height));</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span> </div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <span class="comment">// Calculate individual paddings</span></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_left = pad_width / 2;</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_top = pad_height / 2;</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> pad_right = pad_width - pad_left;</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> pad_bottom = pad_height - pad_top;</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span> </div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <a class="code" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> same_info(strides.first, strides.second, pad_left, pad_right, pad_top, pad_bottom, rounding_type);</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">// Check for correctness of predicted output shape against the one calculated using the generated info</span></div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  <span class="keyword">const</span> <span class="keyword">auto</span> out_dims = <a class="code" href="namespacearm__compute.xhtml#abbe3399a66c35c3c353030cd0a84c936">scaled_dimensions</a>(in_width, in_height, kernel_width, kernel_height, same_info, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad3fd4136244e42ad89b01c02b904336d">dilation</a>);</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(out_dims.first != out_width || out_dims.second != out_height);</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <a class="code" href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(out_dims);</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span> </div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  <span class="keywordflow">return</span> same_info;</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_acf5f12bbab64dd614bd8220c97fe484f"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">arm_compute::test::validation::data_layout</a></div><div class="ttdeci">const DataLayout data_layout</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00146">Im2Col.cpp:146</a></div></div>
+<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00340">340</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="l00342"></a><span class="lineno"> 342</span> {</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <span class="keyword">const</span> <span class="keyword">auto</span> &strides = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a00525ff582f16038a1d3819aa44a23a3">conv_info</a>.stride();</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <a class="code" href="_error_8h.xhtml#a0b0eb3235749a2909dc5a101afe59a1b">ARM_COMPUTE_ERROR_ON_MSG</a>((strides.first < 1 || strides.second < 1), <span class="stringliteral">"Stride values should be greater than or equal to 1."</span>);</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span> </div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <span class="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>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">data_layout</a>, DataLayoutDimension::WIDTH);</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</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>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">data_layout</a>, DataLayoutDimension::HEIGHT);</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> in_width = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ae59e3cf27216b7361c71cbd2830ec4c2">input_shape</a>[width_idx];</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> in_height = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ae59e3cf27216b7361c71cbd2830ec4c2">input_shape</a>[height_idx];</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> kernel_width = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ae8f0126f051c787279a8c9ee3c3a5d55">weights_shape</a>[width_idx];</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> kernel_height = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ae8f0126f051c787279a8c9ee3c3a5d55">weights_shape</a>[height_idx];</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="comment">// Calculate output dimensions</span></div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  <span class="keyword">const</span> <span class="keyword">auto</span> is_ceil = static_cast<unsigned int>(rounding_type == DimensionRoundingType::CEIL);</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> out_width = ((in_width - is_ceil) + strides.first - 1) / strides.first + is_ceil;</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> out_height = ((in_height - is_ceil) + strides.second - 1) / strides.second + is_ceil;</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span> </div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <span class="comment">// Calculate effective weights sizes</span></div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> real_weight_width = (kernel_width - 1) * <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad3fd4136244e42ad89b01c02b904336d">dilation</a>.x() + 1;</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> real_weight_height = (kernel_height - 1) * <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad3fd4136244e42ad89b01c02b904336d">dilation</a>.y() + 1;</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span> </div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  <span class="comment">// Calculate total pad</span></div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> pad_width = std::max(0, static_cast<int>((out_width - 1) * strides.first + real_weight_width - in_width));</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> pad_height = std::max(0, static_cast<int>((out_height - 1) * strides.second + real_weight_height - in_height));</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">// Calculate individual paddings</span></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_left = pad_width / 2;</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> pad_top = pad_height / 2;</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> pad_right = pad_width - pad_left;</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> pad_bottom = pad_height - pad_top;</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="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> same_info(strides.first, strides.second, pad_left, pad_right, pad_top, pad_bottom, rounding_type);</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  <span class="comment">// Check for correctness of predicted output shape against the one calculated using the generated info</span></div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <span class="keyword">const</span> <span class="keyword">auto</span> out_dims = <a class="code" href="namespacearm__compute.xhtml#abbe3399a66c35c3c353030cd0a84c936">scaled_dimensions</a>(in_width, in_height, kernel_width, kernel_height, same_info, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad3fd4136244e42ad89b01c02b904336d">dilation</a>);</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(out_dims.first != out_width || out_dims.second != out_height);</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  <a class="code" href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(out_dims);</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">return</span> same_info;</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_acf5f12bbab64dd614bd8220c97fe484f"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">arm_compute::test::validation::data_layout</a></div><div class="ttdeci">const DataLayout data_layout</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00146">Im2Col.cpp:146</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="namespacearm__compute_xhtml_abbe3399a66c35c3c353030cd0a84c936"><div class="ttname"><a href="namespacearm__compute.xhtml#abbe3399a66c35c3c353030cd0a84c936">arm_compute::scaled_dimensions</a></div><div class="ttdeci">std::pair< unsigned int, unsigned int > scaled_dimensions(unsigned int width, unsigned int height, unsigned int kernel_width, unsigned int kernel_height, const PadStrideInfo &pad_stride_info, const Size2D &dilation=Size2D(1U, 1U))</div><div class="ttdoc">Returns expected width and height of output scaled tensor depending on dimensions rounding mode.</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_utils_8cpp_source.xhtml#l00387">Utils.cpp:387</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_abbe3399a66c35c3c353030cd0a84c936"><div class="ttname"><a href="namespacearm__compute.xhtml#abbe3399a66c35c3c353030cd0a84c936">arm_compute::scaled_dimensions</a></div><div class="ttdeci">std::pair< unsigned int, unsigned int > scaled_dimensions(unsigned int width, unsigned int height, unsigned int kernel_width, unsigned int kernel_height, const PadStrideInfo &pad_stride_info, const Size2D &dilation=Size2D(1U, 1U))</div><div class="ttdoc">Returns expected width and height of output scaled tensor depending on dimensions rounding mode.</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_utils_8cpp_source.xhtml#l00402">Utils.cpp:402</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a00525ff582f16038a1d3819aa44a23a3"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a00525ff582f16038a1d3819aa44a23a3">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#l00599">Winograd.cpp:599</a></div></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="_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="_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#l00466">Error.h:466</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ae59e3cf27216b7361c71cbd2830ec4c2"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ae59e3cf27216b7361c71cbd2830ec4c2">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="_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_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#l00676">Types.h:676</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="_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#l00152">Error.h:152</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a0b0eb3235749a2909dc5a101afe59a1b"><div class="ttname"><a href="_error_8h.xhtml#a0b0eb3235749a2909dc5a101afe59a1b">ARM_COMPUTE_ERROR_ON_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_MSG(cond, msg)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00456">Error.h:456</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="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#l00327">Helpers.inl:327</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#l00160">ARM_COMPUTE_UNUSED</a>, <a class="el" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">CEIL</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00599">arm_compute::test::validation::conv_info</a>, <a class="el" href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00146">arm_compute::test::validation::data_layout</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="_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="src_2core_2_utils_8cpp_source.xhtml#l00387">scaled_dimensions()</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">References <a class="el" href="_error_8h_source.xhtml#l00466">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_error_8h_source.xhtml#l00456">ARM_COMPUTE_ERROR_ON_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00152">ARM_COMPUTE_UNUSED</a>, <a class="el" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">CEIL</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00599">arm_compute::test::validation::conv_info</a>, <a class="el" href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00146">arm_compute::test::validation::data_layout</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="_helpers_8inl_source.xhtml#l00327">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="src_2core_2_utils_8cpp_source.xhtml#l00402">scaled_dimensions()</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_assembly_dispatch_8cpp_source.xhtml#l00361">NEDepthwiseConvolutionAssemblyDispatch::is_optimized_supported()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="graph__validate__utils_8h_source.xhtml#l00194">arm_compute::utils::calculate_convolution_padding()</a>, and <a class="el" href="_n_e_depthwise_convolution_assembly_dispatch_8cpp_source.xhtml#l00361">NEDepthwiseConvolutionAssemblyDispatch::is_optimized_supported()</a>.</p>
</div>
</div>
@@ -9995,13 +10257,13 @@
</dl>
<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#l00684">684</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="l00685"></a><span class="lineno"> 685</span> {</div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>  TensorShape output{ <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a> };</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span> </div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>  <span class="comment">// Subsample shape only for U or V channel</span></div><div class="line"><a name="l00689"></a><span class="lineno"> 689</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="l00690"></a><span class="lineno"> 690</span>  {</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>  <span class="comment">// Subsample width for the tensor shape when channel is U or V</span></div><div class="line"><a name="l00692"></a><span class="lineno"> 692</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="l00693"></a><span class="lineno"> 693</span>  {</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</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="l00695"></a><span class="lineno"> 695</span>  }</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span> </div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>  <span class="comment">// Subsample height for the tensor shape when channel is U or V</span></div><div class="line"><a name="l00698"></a><span class="lineno"> 698</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="l00699"></a><span class="lineno"> 699</span>  {</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</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="l00701"></a><span class="lineno"> 701</span>  }</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>  }</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span> </div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>  <span class="keywordflow">return</span> output;</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</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#l00563">Utils.h:563</a></div></div>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00690">690</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="l00691"></a><span class="lineno"> 691</span> {</div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>  TensorShape output{ <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a> };</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="comment">// Subsample shape only for U or V channel</span></div><div class="line"><a name="l00695"></a><span class="lineno"> 695</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="l00696"></a><span class="lineno"> 696</span>  {</div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>  <span class="comment">// Subsample width for the tensor shape when channel is U or V</span></div><div class="line"><a name="l00698"></a><span class="lineno"> 698</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="l00699"></a><span class="lineno"> 699</span>  {</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</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="l00701"></a><span class="lineno"> 701</span>  }</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span> </div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>  <span class="comment">// Subsample height for the tensor shape when channel is U or V</span></div><div class="line"><a name="l00704"></a><span class="lineno"> 704</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="l00705"></a><span class="lineno"> 705</span>  {</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</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="l00707"></a><span class="lineno"> 707</span>  }</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>  }</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span> </div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>  <span class="keywordflow">return</span> output;</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_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#l00569">Utils.h:569</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#l00552">Utils.h:552</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#l00558">Utils.h:558</a></div></div>
</div><!-- fragment -->
-<p class="reference">References <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00552">has_format_horizontal_subsampling()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00563">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">References <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00558">has_format_horizontal_subsampling()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00569">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="_saturate_cast_8h_source.xhtml#l00057">arm_compute::utils::cast::U</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>
@@ -10065,11 +10327,11 @@
<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>
-<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#acf5f12bbab64dd614bd8220c97fe484f">data_layout</a> = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a15541ee1af263ccf663a5dc23de9fb89">src_info</a>.<a class="code" href="classarm__compute_1_1_tensor_info.xhtml#a5f63b63606dbbbe54474e6e970a6738c">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>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">data_layout</a>, 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>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">data_layout</a>, 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>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af22d91f65b56b795fd28f3b302cd3ad2">dst_shape</a>[idx_width]) / <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a15541ee1af263ccf663a5dc23de9fb89">src_info</a>.<a class="code" href="classarm__compute_1_1_tensor_info.xhtml#a269b19ce3f357ac65f41f9951906e38e">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>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af22d91f65b56b795fd28f3b302cd3ad2">dst_shape</a>[idx_height]) / <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a15541ee1af263ccf663a5dc23de9fb89">src_info</a>.<a class="code" href="classarm__compute_1_1_tensor_info.xhtml#a269b19ce3f357ac65f41f9951906e38e">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 = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a15541ee1af263ccf663a5dc23de9fb89">src_info</a>.<a class="code" href="classarm__compute_1_1_tensor_info.xhtml#a3c20d908342087484d883574d55dd482">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 = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a15541ee1af263ccf663a5dc23de9fb89">src_info</a>.<a class="code" href="classarm__compute_1_1_tensor_info.xhtml#a3c20d908342087484d883574d55dd482">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 = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a15541ee1af263ccf663a5dc23de9fb89">src_info</a>.<a class="code" href="classarm__compute_1_1_tensor_info.xhtml#a3c20d908342087484d883574d55dd482">valid_region</a>().<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">anchor</a>[idx_width] + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a15541ee1af263ccf663a5dc23de9fb89">src_info</a>.<a class="code" href="classarm__compute_1_1_tensor_info.xhtml#a3c20d908342087484d883574d55dd482">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 = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a15541ee1af263ccf663a5dc23de9fb89">src_info</a>.<a class="code" href="classarm__compute_1_1_tensor_info.xhtml#a3c20d908342087484d883574d55dd482">valid_region</a>().<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">anchor</a>[idx_height] + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a15541ee1af263ccf663a5dc23de9fb89">src_info</a>.<a class="code" href="classarm__compute_1_1_tensor_info.xhtml#a3c20d908342087484d883574d55dd482">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), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af22d91f65b56b795fd28f3b302cd3ad2">dst_shape</a>[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), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af22d91f65b56b795fd28f3b302cd3ad2">dst_shape</a>[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>(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af22d91f65b56b795fd28f3b302cd3ad2">dst_shape</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a15541ee1af263ccf663a5dc23de9fb89">src_info</a>.<a class="code" href="classarm__compute_1_1_tensor_info.xhtml#a269b19ce3f357ac65f41f9951906e38e">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, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af22d91f65b56b795fd28f3b302cd3ad2">dst_shape</a>[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, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af22d91f65b56b795fd28f3b302cd3ad2">dst_shape</a>[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="namespacearm__compute_1_1test_1_1validation_xhtml_acf5f12bbab64dd614bd8220c97fe484f"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">arm_compute::test::validation::data_layout</a></div><div class="ttdeci">const DataLayout data_layout</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00146">Im2Col.cpp:146</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#l00247">Types.h:247</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_tensor_info_xhtml_a3c20d908342087484d883574d55dd482"><div class="ttname"><a href="classarm__compute_1_1_tensor_info.xhtml#a3c20d908342087484d883574d55dd482">arm_compute::TensorInfo::valid_region</a></div><div class="ttdeci">ValidRegion valid_region() const override</div><div class="ttdoc">Valid region of the tensor.</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_info_8h_source.xhtml#l00285">TensorInfo.h:285</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_tensor_info_xhtml_a5f63b63606dbbbe54474e6e970a6738c"><div class="ttname"><a href="classarm__compute_1_1_tensor_info.xhtml#a5f63b63606dbbbe54474e6e970a6738c">arm_compute::TensorInfo::data_layout</a></div><div class="ttdeci">DataLayout data_layout() const override</div><div class="ttdoc">Get the data layout of the tensor.</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_info_8h_source.xhtml#l00297">TensorInfo.h:297</a></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> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">data_layout</a> = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a15541ee1af263ccf663a5dc23de9fb89">src_info</a>.<a class="code" href="classarm__compute_1_1_tensor_info.xhtml#a5f63b63606dbbbe54474e6e970a6738c">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>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">data_layout</a>, 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>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">data_layout</a>, 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>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af22d91f65b56b795fd28f3b302cd3ad2">dst_shape</a>[idx_width]) / <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a15541ee1af263ccf663a5dc23de9fb89">src_info</a>.<a class="code" href="classarm__compute_1_1_tensor_info.xhtml#a269b19ce3f357ac65f41f9951906e38e">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>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af22d91f65b56b795fd28f3b302cd3ad2">dst_shape</a>[idx_height]) / <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a15541ee1af263ccf663a5dc23de9fb89">src_info</a>.<a class="code" href="classarm__compute_1_1_tensor_info.xhtml#a269b19ce3f357ac65f41f9951906e38e">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 = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a15541ee1af263ccf663a5dc23de9fb89">src_info</a>.<a class="code" href="classarm__compute_1_1_tensor_info.xhtml#a3c20d908342087484d883574d55dd482">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 = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a15541ee1af263ccf663a5dc23de9fb89">src_info</a>.<a class="code" href="classarm__compute_1_1_tensor_info.xhtml#a3c20d908342087484d883574d55dd482">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 = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a15541ee1af263ccf663a5dc23de9fb89">src_info</a>.<a class="code" href="classarm__compute_1_1_tensor_info.xhtml#a3c20d908342087484d883574d55dd482">valid_region</a>().<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">anchor</a>[idx_width] + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a15541ee1af263ccf663a5dc23de9fb89">src_info</a>.<a class="code" href="classarm__compute_1_1_tensor_info.xhtml#a3c20d908342087484d883574d55dd482">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 = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a15541ee1af263ccf663a5dc23de9fb89">src_info</a>.<a class="code" href="classarm__compute_1_1_tensor_info.xhtml#a3c20d908342087484d883574d55dd482">valid_region</a>().<a class="code" href="structarm__compute_1_1_valid_region.xhtml#a55a69b397082accd94221dd10b722cf7">anchor</a>[idx_height] + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a15541ee1af263ccf663a5dc23de9fb89">src_info</a>.<a class="code" href="classarm__compute_1_1_tensor_info.xhtml#a3c20d908342087484d883574d55dd482">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), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af22d91f65b56b795fd28f3b302cd3ad2">dst_shape</a>[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), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af22d91f65b56b795fd28f3b302cd3ad2">dst_shape</a>[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#a7cf8d8b669b8f7b05680230be30d60f4">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>(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af22d91f65b56b795fd28f3b302cd3ad2">dst_shape</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a15541ee1af263ccf663a5dc23de9fb89">src_info</a>.<a class="code" href="classarm__compute_1_1_tensor_info.xhtml#a269b19ce3f357ac65f41f9951906e38e">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, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af22d91f65b56b795fd28f3b302cd3ad2">dst_shape</a>[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, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af22d91f65b56b795fd28f3b302cd3ad2">dst_shape</a>[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="namespacearm__compute_1_1test_1_1validation_xhtml_acf5f12bbab64dd614bd8220c97fe484f"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">arm_compute::test::validation::data_layout</a></div><div class="ttdeci">const DataLayout data_layout</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00146">Im2Col.cpp:146</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#l00256">Types.h:256</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_tensor_info_xhtml_a3c20d908342087484d883574d55dd482"><div class="ttname"><a href="classarm__compute_1_1_tensor_info.xhtml#a3c20d908342087484d883574d55dd482">arm_compute::TensorInfo::valid_region</a></div><div class="ttdeci">ValidRegion valid_region() const override</div><div class="ttdoc">Valid region of the tensor.</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_info_8h_source.xhtml#l00303">TensorInfo.h:303</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_tensor_info_xhtml_a5f63b63606dbbbe54474e6e970a6738c"><div class="ttname"><a href="classarm__compute_1_1_tensor_info.xhtml#a5f63b63606dbbbe54474e6e970a6738c">arm_compute::TensorInfo::data_layout</a></div><div class="ttdeci">DataLayout data_layout() const override</div><div class="ttdoc">Get the data layout of the tensor.</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_info_8h_source.xhtml#l00315">TensorInfo.h:315</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_af22d91f65b56b795fd28f3b302cd3ad2"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#af22d91f65b56b795fd28f3b302cd3ad2">arm_compute::test::validation::dst_shape</a></div><div class="ttdeci">TensorShape dst_shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_2_d_f_t_8cpp_source.xhtml#l00164">DFT.cpp:164</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_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>
@@ -10077,13 +10339,13 @@
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a15541ee1af263ccf663a5dc23de9fb89"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a15541ee1af263ccf663a5dc23de9fb89">arm_compute::test::validation::src_info</a></div><div class="ttdeci">TensorInfo src_info(src_shape, 1, data_type)</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#l00174">Types.h:174</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="classarm__compute_1_1_tensor_info_xhtml_a269b19ce3f357ac65f41f9951906e38e"><div class="ttname"><a href="classarm__compute_1_1_tensor_info.xhtml#a269b19ce3f357ac65f41f9951906e38e">arm_compute::TensorInfo::tensor_shape</a></div><div class="ttdeci">const TensorShape & tensor_shape() const override</div><div class="ttdoc">Size for each dimension of the tensor.</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_info_8h_source.xhtml#l00252">TensorInfo.h:252</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#l00114">Types.h:114</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#l00246">Types.h:246</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#l00183">Types.h:183</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#l00327">Helpers.inl:327</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_tensor_info_xhtml_a269b19ce3f357ac65f41f9951906e38e"><div class="ttname"><a href="classarm__compute_1_1_tensor_info.xhtml#a269b19ce3f357ac65f41f9951906e38e">arm_compute::TensorInfo::tensor_shape</a></div><div class="ttdeci">const TensorShape & tensor_shape() const override</div><div class="ttdoc">Size for each dimension of the tensor.</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_info_8h_source.xhtml#l00261">TensorInfo.h:261</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#l00116">Types.h:116</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#l00255">Types.h:255</a></div></div>
</div><!-- fragment -->
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00246">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="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00146">arm_compute::test::validation::data_layout</a>, <a class="el" href="_tensor_info_8h_source.xhtml#l00297">TensorInfo::data_layout()</a>, <a class="el" href="_c_p_p_2_d_f_t_8cpp_source.xhtml#l00164">arm_compute::test::validation::dst_shape</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#l00247">ValidRegion::shape</a>, <a class="el" href="namespacearm__compute_1_1test_1_1validation.xhtml#a15541ee1af263ccf663a5dc23de9fb89">arm_compute::test::validation::src_info</a>, <a class="el" href="_tensor_info_8h_source.xhtml#l00252">TensorInfo::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="_tensor_info_8h_source.xhtml#l00285">TensorInfo::valid_region()</a>, and <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195">WIDTH</a>.</p>
+<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00255">ValidRegion::anchor</a>, <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>, <a class="el" href="_error_8h_source.xhtml#l00352">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="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00146">arm_compute::test::validation::data_layout</a>, <a class="el" href="_tensor_info_8h_source.xhtml#l00315">TensorInfo::data_layout()</a>, <a class="el" href="_c_p_p_2_d_f_t_8cpp_source.xhtml#l00164">arm_compute::test::validation::dst_shape</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00327">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#l00256">ValidRegion::shape</a>, <a class="el" href="namespacearm__compute_1_1test_1_1validation.xhtml#a15541ee1af263ccf663a5dc23de9fb89">arm_compute::test::validation::src_info</a>, <a class="el" href="_tensor_info_8h_source.xhtml#l00261">TensorInfo::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="_tensor_info_8h_source.xhtml#l00303">TensorInfo::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>
@@ -10135,10 +10397,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#l00066">66</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="l00067"></a><span class="lineno"> 67</span> {</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(value < 0 || divisor <= 0);</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</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="l00070"></a><span class="lineno"> 70</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="l00067"></a><span class="lineno"> 67</span> {</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(value < 0 || divisor <= 0);</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</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="l00070"></a><span class="lineno"> 70</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#l00466">Error.h:466</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#l00053">Utils.h:53</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="_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="_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_dequantization_layer_kernel_8cpp_source.xhtml#l00077">CLDequantizationLayerKernel::configure()</a>, <a class="el" href="_c_l_copy_kernel_8cpp_source.xhtml#l00157">CLCopyKernel::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="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00062">CLMinMaxKernel::configure()</a>, <a class="el" href="_c_l_quantization_layer_kernel_8cpp_source.xhtml#l00075">CLQuantizationLayerKernel::configure()</a>, <a class="el" href="_c_l_remap_kernel_8cpp_source.xhtml#l00050">CLRemapKernel::configure()</a>, <a class="el" href="_c_l_memset_kernel_8cpp_source.xhtml#l00042">CLMemsetKernel::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#l00098">CLWidthConcatenate2TensorsKernel::configure()</a>, <a class="el" href="_c_l_crop_kernel_8cpp_source.xhtml#l00049">CLCropKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate4_tensors_kernel_8cpp_source.xhtml#l00116">CLWidthConcatenate4TensorsKernel::configure()</a>, <a class="el" href="_c_l_mean_std_dev_kernel_8cpp_source.xhtml#l00066">CLMeanStdDevKernel::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="_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="_c_l_strided_slice_kernel_8cpp_source.xhtml#l00104">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#l00342">NEGEMMInterleavedWrapper::configure()</a>, <a class="el" href="_c_l_crop_kernel_8cpp_source.xhtml#l00115">CLCropKernel::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="_c_l_im2_col_kernel_8cpp_source.xhtml#l00353">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#l00141">Window::scale()</a>, and <a class="el" href="_n_e_depthwise_convolution_layer_native_kernel_8cpp_source.xhtml#l00221">validate_and_configure_window()</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="_c_l_element_wise_unary_layer_kernel_8cpp_source.xhtml#l00052">CLElementWiseUnaryLayerKernel::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="_g_c_scale_kernel_8cpp_source.xhtml#l00047">GCScaleKernel::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_dequantization_layer_kernel_8cpp_source.xhtml#l00077">CLDequantizationLayerKernel::configure()</a>, <a class="el" href="_c_l_copy_kernel_8cpp_source.xhtml#l00157">CLCopyKernel::configure()</a>, <a class="el" href="_c_l_tile_kernel_8cpp_source.xhtml#l00068">CLTileKernel::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="_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_memset_kernel_8cpp_source.xhtml#l00042">CLMemsetKernel::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#l00098">CLWidthConcatenate2TensorsKernel::configure()</a>, <a class="el" href="_c_l_crop_kernel_8cpp_source.xhtml#l00049">CLCropKernel::configure()</a>, <a class="el" href="_c_l_pad_layer_kernel_8cpp_source.xhtml#l00097">CLPadLayerKernel::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_width_concatenate4_tensors_kernel_8cpp_source.xhtml#l00116">CLWidthConcatenate4TensorsKernel::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="_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_crop_kernel_8cpp_source.xhtml#l00115">CLCropKernel::run()</a>, <a class="el" href="_c_l_im2_col_kernel_8cpp_source.xhtml#l00353">CLIm2ColKernel::run()</a>, and <a class="el" href="_window_8inl_source.xhtml#l00155">Window::scale()</a>.</p>
</div>
</div>
@@ -10186,13 +10448,13 @@
</dl>
<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#l00320">320</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="l00321"></a><span class="lineno"> 321</span> {</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  {</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <span class="keywordflow">case</span> Format::RGB888:</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>  <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  {</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="keywordflow">case</span> Channel::R:</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>  <span class="keywordflow">case</span> Channel::G:</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  <span class="keywordflow">case</span> Channel::B:</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</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="l00336"></a><span class="lineno"> 336</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  }</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  }</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="keywordflow">case</span> Format::RGBA8888:</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="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  {</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <span class="keywordflow">case</span> Channel::R:</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <span class="keywordflow">case</span> Channel::G:</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  <span class="keywordflow">case</span> Channel::B:</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  <span class="keywordflow">case</span> Channel::A:</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</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="l00353"></a><span class="lineno"> 353</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  }</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  }</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  {</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <span class="keywordflow">switch</span>(channel)</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="keywordflow">case</span> Channel::Y:</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>  <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="l00363"></a><span class="lineno"> 363</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</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="l00368"></a><span class="lineno"> 368</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  }</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  }</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  {</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  {</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</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="l00378"></a><span class="lineno"> 378</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Not supported channel"</span>);</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <span class="keywordflow">return</span> 0;</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="keywordflow">case</span> Format::NV12:</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>  <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  {</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  <span class="keywordflow">case</span> Channel::Y:</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>  <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="l00393"></a><span class="lineno"> 393</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</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="l00398"></a><span class="lineno"> 398</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  }</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  }</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  {</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  <span class="keywordflow">switch</span>(channel)</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>  <span class="keywordflow">case</span> Channel::Y:</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>  <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="l00408"></a><span class="lineno"> 408</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</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="l00413"></a><span class="lineno"> 413</span>  <span class="keywordflow">return</span> 0;</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>  }</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  {</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  <span class="keywordflow">switch</span>(channel)</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>  <span class="keywordflow">case</span> Channel::Y:</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>  <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="l00424"></a><span class="lineno"> 424</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</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="l00429"></a><span class="lineno"> 429</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>  }</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>  }</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</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="l00434"></a><span class="lineno"> 434</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  }</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span> }</div><div class="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="arm__compute_2core_2_utils_8h_source.xhtml#l00324">324</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="l00325"></a><span class="lineno"> 325</span> {</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  {</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="keywordflow">case</span> Format::RGB888:</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="keywordflow">switch</span>(channel)</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> Channel::R:</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <span class="keywordflow">case</span> Channel::G:</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <span class="keywordflow">case</span> Channel::B:</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Not supported channel"</span>);</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  }</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  }</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <span class="keywordflow">case</span> Format::RGBA8888:</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">switch</span>(channel)</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="keywordflow">case</span> Channel::R:</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  <span class="keywordflow">case</span> Channel::G:</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <span class="keywordflow">case</span> Channel::B:</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  <span class="keywordflow">case</span> Channel::A:</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Not supported channel"</span>);</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="keywordflow">return</span> 0;</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>  }</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  <span class="keywordflow">case</span> Format::YUYV422:</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">switch</span>(channel)</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> Channel::Y:</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</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="l00367"></a><span class="lineno"> 367</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Not supported channel"</span>);</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  }</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  }</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <span class="keywordflow">case</span> Format::UYVY422:</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="keywordflow">switch</span>(channel)</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> Channel::Y:</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</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="l00382"></a><span class="lineno"> 382</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Not supported channel"</span>);</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  <span class="keywordflow">return</span> 0;</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>  <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  {</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <span class="keywordflow">switch</span>(channel)</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> Channel::Y:</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</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="l00397"></a><span class="lineno"> 397</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Not supported channel"</span>);</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  <span class="keywordflow">return</span> 0;</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>  }</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  <span class="keywordflow">case</span> Format::NV21:</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">switch</span>(channel)</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> Channel::Y:</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</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="l00412"></a><span class="lineno"> 412</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Not supported channel"</span>);</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>  }</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">case</span> Format::YUV444:</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  <span class="keywordflow">case</span> Format::IYUV:</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="keywordflow">switch</span>(channel)</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">case</span> Channel::Y:</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</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="l00428"></a><span class="lineno"> 428</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Not supported channel"</span>);</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  }</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  }</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Not supported format"</span>);</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  }</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span> }</div><div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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">References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="_error_8h_source.xhtml#l00352">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>
+<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>.</p>
</div>
</div>
@@ -10239,13 +10501,13 @@
</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#l01103">1103</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="l01104"></a><span class="lineno"> 1104</span> {</div><div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>  <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>  {</div><div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>  <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l01108"></a><span class="lineno"> 1108</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="l01109"></a><span class="lineno"> 1109</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>  {</div><div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>  <span class="keywordtype">double</span> min = static_cast<double>(<a class="code" href="namespacearm__compute.xhtml#a34725aa0412e6cc99193ceb6c8a8e439">dequantize_qasymm8</a>(0, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>));</div><div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>  <span class="keywordtype">double</span> max = static_cast<double>(<a class="code" href="namespacearm__compute.xhtml#a34725aa0412e6cc99193ceb6c8a8e439">dequantize_qasymm8</a>(std::numeric_limits<uint8_t>::max(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>));</div><div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>  <span class="keywordflow">return</span> ((<span class="keywordtype">double</span>)val >= min && (<span class="keywordtype">double</span>)val <= max);</div><div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>  }</div><div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l01116"></a><span class="lineno"> 1116</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="l01117"></a><span class="lineno"> 1117</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l01118"></a><span class="lineno"> 1118</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="l01119"></a><span class="lineno"> 1119</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l01120"></a><span class="lineno"> 1120</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="l01121"></a><span class="lineno"> 1121</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l01122"></a><span class="lineno"> 1122</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="l01123"></a><span class="lineno"> 1123</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l01124"></a><span class="lineno"> 1124</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="l01125"></a><span class="lineno"> 1125</span>  <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l01126"></a><span class="lineno"> 1126</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="l01127"></a><span class="lineno"> 1127</span>  <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l01128"></a><span class="lineno"> 1128</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="l01129"></a><span class="lineno"> 1129</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l01130"></a><span class="lineno"> 1130</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="l01131"></a><span class="lineno"> 1131</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l01132"></a><span class="lineno"> 1132</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="l01133"></a><span class="lineno"> 1133</span>  <span class="keywordflow">case</span> DataType::F64:</div><div class="line"><a name="l01134"></a><span class="lineno"> 1134</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="l01135"></a><span class="lineno"> 1135</span>  <span class="keywordflow">case</span> DataType::SIZET:</div><div class="line"><a name="l01136"></a><span class="lineno"> 1136</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="l01137"></a><span class="lineno"> 1137</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01138"></a><span class="lineno"> 1138</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="l01139"></a><span class="lineno"> 1139</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><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> }</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_a34725aa0412e6cc99193ceb6c8a8e439"><div class="ttname"><a href="namespacearm__compute.xhtml#a34725aa0412e6cc99193ceb6c8a8e439">arm_compute::dequantize_qasymm8</a></div><div class="ttdeci">float dequantize_qasymm8(uint8_t value, const UniformQuantizationInfo &qinfo)</div><div class="ttdoc">Dequantize a value given a asymmetric quantization scheme.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00248">QuantizationInfo.h:248</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#l00384">ToolchainSupport.h:384</a></div></div>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01136">1136</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="l01137"></a><span class="lineno"> 1137</span> {</div><div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>  <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>  {</div><div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>  <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>  {</div><div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>  <span class="keyword">const</span> <span class="keyword">auto</span> val_u8 = static_cast<uint8_t>(val);</div><div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>  <span class="keywordflow">return</span> ((val_u8 == val) && val_u8 >= <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a73e352c61baaf9c1178da2d30105b04e">std::numeric_limits<uint8_t>::lowest</a>() && val_u8 <= std::numeric_limits<uint8_t>::max());</div><div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>  }</div><div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>  {</div><div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>  <span class="keywordtype">double</span> min = static_cast<double>(<a class="code" href="helpers__asymm_8h.xhtml#afbec2094d42590b94e7eead93710411d">dequantize_qasymm8</a>(0, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>));</div><div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>  <span class="keywordtype">double</span> max = static_cast<double>(<a class="code" href="helpers__asymm_8h.xhtml#afbec2094d42590b94e7eead93710411d">dequantize_qasymm8</a>(std::numeric_limits<uint8_t>::max(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>));</div><div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>  <span class="keywordflow">return</span> ((<span class="keywordtype">double</span>)val >= min && (<span class="keywordtype">double</span>)val <= max);</div><div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>  }</div><div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>  {</div><div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>  <span class="keyword">const</span> <span class="keyword">auto</span> val_s8 = static_cast<int8_t>(val);</div><div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>  <span class="keywordflow">return</span> ((val_s8 == val) && val_s8 >= <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a73e352c61baaf9c1178da2d30105b04e">std::numeric_limits<int8_t>::lowest</a>() && val_s8 <= std::numeric_limits<int8_t>::max());</div><div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>  }</div><div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>  {</div><div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>  <span class="keyword">const</span> <span class="keyword">auto</span> val_u16 = static_cast<uint16_t>(val);</div><div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>  <span class="keywordflow">return</span> ((val_u16 == val) && val_u16 >= <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a73e352c61baaf9c1178da2d30105b04e">std::numeric_limits<uint16_t>::lowest</a>() && val_u16 <= std::numeric_limits<uint16_t>::max());</div><div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>  }</div><div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>  {</div><div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>  <span class="keyword">const</span> <span class="keyword">auto</span> val_s16 = static_cast<int16_t>(val);</div><div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>  <span class="keywordflow">return</span> ((val_s16 == val) && val_s16 >= <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a73e352c61baaf9c1178da2d30105b04e">std::numeric_limits<int16_t>::lowest</a>() && val_s16 <= std::numeric_limits<int16_t>::max());</div><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>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>  {</div><div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>  <span class="keyword">const</span> <span class="keyword">auto</span> val_u32 = static_cast<uint32_t>(val);</div><div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>  <span class="keywordflow">return</span> ((val_u32 == val) && val_u32 >= <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a73e352c61baaf9c1178da2d30105b04e">std::numeric_limits<uint32_t>::lowest</a>() && val_u32 <= std::numeric_limits<uint32_t>::max());</div><div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>  }</div><div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>  {</div><div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>  <span class="keyword">const</span> <span class="keyword">auto</span> val_s32 = static_cast<int32_t>(val);</div><div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>  <span class="keywordflow">return</span> ((val_s32 == val) && val_s32 >= <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a73e352c61baaf9c1178da2d30105b04e">std::numeric_limits<int32_t>::lowest</a>() && val_s32 <= std::numeric_limits<int32_t>::max());</div><div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>  }</div><div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l01177"></a><span class="lineno"> 1177</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="l01178"></a><span class="lineno"> 1178</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l01179"></a><span class="lineno"> 1179</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="l01180"></a><span class="lineno"> 1180</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Data type not supported"</span>);</div><div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>  }</div><div class="line"><a name="l01184"></a><span class="lineno"> 1184</span> }</div><div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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#l00418">ToolchainSupport.h:418</a></div></div>
+<div class="ttc" id="helpers__asymm_8h_xhtml_afbec2094d42590b94e7eead93710411d"><div class="ttname"><a href="helpers__asymm_8h.xhtml#afbec2094d42590b94e7eead93710411d">dequantize_qasymm8</a></div><div class="ttdeci">float dequantize_qasymm8(uchar input, float offset, float scale)</div><div class="ttdoc">Dequantize a scalar value from 8-bit asymmetric to floating-point.</div><div class="ttdef"><b>Definition:</b> <a href="helpers__asymm_8h_source.xhtml#l00062">helpers_asymm.h:62</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad85d7becf0c6e3cffbc255489808e219"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">arm_compute::test::validation::qinfo</a></div><div class="ttdeci">const QuantizationInfo qinfo</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00150">Im2Col.cpp:150</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="_quantization_info_8h_source.xhtml#l00248">dequantize_qasymm8()</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#l00384">arm_compute::support::cpp11::lowest()</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, <a class="el" href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00150">arm_compute::test::validation::qinfo</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">References <a class="el" href="_error_8h_source.xhtml#l00352">ARM_COMPUTE_ERROR</a>, <a class="el" href="_quantization_info_8h_source.xhtml#l00275">dequantize_qasymm8()</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="_toolchain_support_8h_source.xhtml#l00418">arm_compute::support::cpp11::lowest()</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, <a class="el" href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00150">arm_compute::test::validation::qinfo</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>
</div>
</div>
@@ -10292,11 +10554,11 @@
</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="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00194">194</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="l00195"></a><span class="lineno"> 195</span> {</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</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#acf5f12bbab64dd614bd8220c97fe484f">data_layout</a> == DataLayout::UNKNOWN);</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <span class="keyword">using</span> WinogradConfiguration = std::pair<std::pair<int, int>, std::pair<int, int>>;</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>  std::vector<WinogradConfiguration> winograd_configs_nchw =</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>  WinogradConfiguration(std::pair<int, int>(1, 2), std::pair<int, int>(1, 3)),</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  WinogradConfiguration(std::pair<int, int>(1, 4), std::pair<int, int>(1, 3)),</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  WinogradConfiguration(std::pair<int, int>(2, 1), std::pair<int, int>(3, 1)),</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  WinogradConfiguration(std::pair<int, int>(4, 1), std::pair<int, int>(3, 1)),</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  WinogradConfiguration(std::pair<int, int>(2, 2), std::pair<int, int>(3, 3)),</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  WinogradConfiguration(std::pair<int, int>(4, 4), std::pair<int, int>(3, 3)),</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  WinogradConfiguration(std::pair<int, int>(4, 4), std::pair<int, int>(5, 5)),</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  WinogradConfiguration(std::pair<int, int>(4, 1), std::pair<int, int>(5, 1)),</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  WinogradConfiguration(std::pair<int, int>(1, 4), std::pair<int, int>(1, 5))</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> </div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  std::vector<WinogradConfiguration> winograd_configs_nhwc =</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>  WinogradConfiguration(std::pair<int, int>(2, 2), std::pair<int, int>(3, 3)),</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  WinogradConfiguration(std::pair<int, int>(1, 4), std::pair<int, int>(1, 3)),</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  WinogradConfiguration(std::pair<int, int>(4, 1), std::pair<int, int>(3, 1)),</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  WinogradConfiguration(std::pair<int, int>(4, 4), std::pair<int, int>(3, 3)),</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  WinogradConfiguration(std::pair<int, int>(4, 4), std::pair<int, int>(5, 5)),</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  WinogradConfiguration(std::pair<int, int>(4, 1), std::pair<int, int>(5, 1)),</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  WinogradConfiguration(std::pair<int, int>(1, 4), std::pair<int, int>(1, 5)),</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  WinogradConfiguration(std::pair<int, int>(1, 2), std::pair<int, int>(1, 7)),</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  WinogradConfiguration(std::pair<int, int>(2, 1), std::pair<int, int>(7, 1)),</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  WinogradConfiguration(std::pair<int, int>(2, 2), std::pair<int, int>(7, 7)),</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> </div><div class="line"><a name="l00227"></a><span class="lineno"> 227</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="l00228"></a><span class="lineno"> 228</span>  std::pair<int, int>(kernel_size.width, kernel_size.height));</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="comment">// Return true if supported</span></div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">data_layout</a> == DataLayout::NCHW)</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> (std::find(winograd_configs_nchw.begin(), winograd_configs_nchw.end(), p) != winograd_configs_nchw.end());</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  }</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  {</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="keywordflow">return</span> (std::find(winograd_configs_nhwc.begin(), winograd_configs_nhwc.end(), p) != winograd_configs_nhwc.end());</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="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_acf5f12bbab64dd614bd8220c97fe484f"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">arm_compute::test::validation::data_layout</a></div><div class="ttdeci">const DataLayout data_layout</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00146">Im2Col.cpp:146</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>
+<p class="definition">Definition at line <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00249">249</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="l00250"></a><span class="lineno"> 250</span> {</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">data_layout</a> == DataLayout::UNKNOWN);</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="keyword">using</span> WinogradConfiguration = std::pair<std::pair<int, int>, std::pair<int, int>>;</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span> </div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  std::vector<WinogradConfiguration> winograd_configs_nchw =</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>  WinogradConfiguration(std::pair<int, int>(1, 2), std::pair<int, int>(1, 3)),</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  WinogradConfiguration(std::pair<int, int>(1, 4), std::pair<int, int>(1, 3)),</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  WinogradConfiguration(std::pair<int, int>(2, 1), std::pair<int, int>(3, 1)),</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  WinogradConfiguration(std::pair<int, int>(4, 1), std::pair<int, int>(3, 1)),</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  WinogradConfiguration(std::pair<int, int>(2, 2), std::pair<int, int>(3, 3)),</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  WinogradConfiguration(std::pair<int, int>(4, 4), std::pair<int, int>(3, 3)),</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  WinogradConfiguration(std::pair<int, int>(4, 4), std::pair<int, int>(5, 5)),</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  WinogradConfiguration(std::pair<int, int>(4, 1), std::pair<int, int>(5, 1)),</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  WinogradConfiguration(std::pair<int, int>(1, 4), std::pair<int, int>(1, 5))</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  };</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span> </div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  std::vector<WinogradConfiguration> winograd_configs_nhwc =</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>  WinogradConfiguration(std::pair<int, int>(2, 2), std::pair<int, int>(3, 3)),</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  WinogradConfiguration(std::pair<int, int>(1, 4), std::pair<int, int>(1, 3)),</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  WinogradConfiguration(std::pair<int, int>(4, 1), std::pair<int, int>(3, 1)),</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  WinogradConfiguration(std::pair<int, int>(4, 4), std::pair<int, int>(3, 3)),</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  WinogradConfiguration(std::pair<int, int>(4, 4), std::pair<int, int>(5, 5)),</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  WinogradConfiguration(std::pair<int, int>(4, 1), std::pair<int, int>(5, 1)),</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  WinogradConfiguration(std::pair<int, int>(1, 4), std::pair<int, int>(1, 5)),</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  WinogradConfiguration(std::pair<int, int>(1, 2), std::pair<int, int>(1, 7)),</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  WinogradConfiguration(std::pair<int, int>(2, 1), std::pair<int, int>(7, 1)),</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  WinogradConfiguration(std::pair<int, int>(2, 2), std::pair<int, int>(7, 7)),</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> </div><div class="line"><a name="l00282"></a><span class="lineno"> 282</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="l00283"></a><span class="lineno"> 283</span>  std::pair<int, int>(kernel_size.width, kernel_size.height));</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="comment">// Return true if supported</span></div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">data_layout</a> == DataLayout::NCHW)</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> (std::find(winograd_configs_nchw.begin(), winograd_configs_nchw.end(), p) != winograd_configs_nchw.end());</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">else</span></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">return</span> (std::find(winograd_configs_nhwc.begin(), winograd_configs_nhwc.end(), p) != winograd_configs_nhwc.end());</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> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_acf5f12bbab64dd614bd8220c97fe484f"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">arm_compute::test::validation::data_layout</a></div><div class="ttdeci">const DataLayout data_layout</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00146">Im2Col.cpp:146</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#l00466">Error.h:466</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="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00146">arm_compute::test::validation::data_layout</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>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00466">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00146">arm_compute::test::validation::data_layout</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>
@@ -10343,10 +10605,11 @@
</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 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> == <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>);</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>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>);</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 &)</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#l00466">Error.h:466</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a8fcf2ddd9a1d58b1b280f5c0aed71845"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">arm_compute::test::validation::input</a></div><div class="ttdeci">auto input</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">LSTMLayerQuantized.cpp:487</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#l00123">Helpers.inl:123</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#l00097">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#l00048">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00092">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00102">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00159">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00143">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00152">Window::y()</a>.</p>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00466">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#l00097">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00123">execute_window_loop()</a>, <a class="el" href="_c_l_2_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">arm_compute::test::validation::input</a>, <a class="el" href="_window_8inl_source.xhtml#l00049">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00092">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00102">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00173">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00143">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00152">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>
@@ -10395,12 +10658,13 @@
</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>
-<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="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> == <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>);</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>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>);</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 &)</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#l00466">Error.h:466</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a8fcf2ddd9a1d58b1b280f5c0aed71845"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">arm_compute::test::validation::input</a></div><div class="ttdeci">auto input</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">LSTMLayerQuantized.cpp:487</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_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_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#l00123">Helpers.inl:123</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#l00097">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#l00048">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00092">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00102">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00159">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00143">Window::x()</a>, <a class="el" href="_window_8h_source.xhtml#l00152">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>
+<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#l00466">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#l00097">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00123">execute_window_loop()</a>, <a class="el" href="_c_l_2_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">arm_compute::test::validation::input</a>, <a class="el" href="_window_8inl_source.xhtml#l00049">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00092">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00102">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00173">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00143">Window::x()</a>, <a class="el" href="_window_8h_source.xhtml#l00152">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>
@@ -10447,10 +10711,11 @@
</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 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> == <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>);</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>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>);</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 &)</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#l00466">Error.h:466</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a8fcf2ddd9a1d58b1b280f5c0aed71845"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">arm_compute::test::validation::input</a></div><div class="ttdeci">auto input</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">LSTMLayerQuantized.cpp:487</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#l00123">Helpers.inl:123</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#l00097">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#l00048">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00092">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00102">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00159">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00143">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00152">Window::y()</a>.</p>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00466">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#l00097">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00123">execute_window_loop()</a>, <a class="el" href="_c_l_2_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">arm_compute::test::validation::input</a>, <a class="el" href="_window_8inl_source.xhtml#l00049">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00092">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00102">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00173">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00143">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00152">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>
@@ -10499,11 +10764,12 @@
</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>
-<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 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> == <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>);</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>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>);</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 &)</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#l00466">Error.h:466</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a8fcf2ddd9a1d58b1b280f5c0aed71845"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">arm_compute::test::validation::input</a></div><div class="ttdeci">auto input</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">LSTMLayerQuantized.cpp:487</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#l00123">Helpers.inl:123</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#l00097">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#l00048">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#l00092">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00102">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00159">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00143">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00152">Window::y()</a>.</p>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00466">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#l00097">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00123">execute_window_loop()</a>, <a class="el" href="_c_l_2_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">arm_compute::test::validation::input</a>, <a class="el" href="_window_8inl_source.xhtml#l00049">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#l00092">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00102">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00173">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00143">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00152">Window::y()</a>.</p>
</div>
</div>
@@ -10550,13 +10816,14 @@
</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>
-<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="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> == <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>);</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>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>);</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 &)</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#l00466">Error.h:466</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a8fcf2ddd9a1d58b1b280f5c0aed71845"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">arm_compute::test::validation::input</a></div><div class="ttdeci">auto input</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">LSTMLayerQuantized.cpp:487</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_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_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#l00123">Helpers.inl:123</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#l00097">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#l00048">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#l00092">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00102">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00159">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00143">Window::x()</a>, <a class="el" href="_window_8h_source.xhtml#l00152">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>
+<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#l00466">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#l00097">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00123">execute_window_loop()</a>, <a class="el" href="_c_l_2_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">arm_compute::test::validation::input</a>, <a class="el" href="_window_8inl_source.xhtml#l00049">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#l00092">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00102">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00173">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00143">Window::x()</a>, <a class="el" href="_window_8h_source.xhtml#l00152">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>
@@ -10603,11 +10870,12 @@
</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>
-<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 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> == <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>);</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>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>);</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 &)</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#l00466">Error.h:466</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a8fcf2ddd9a1d58b1b280f5c0aed71845"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">arm_compute::test::validation::input</a></div><div class="ttdeci">auto input</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">LSTMLayerQuantized.cpp:487</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#l00123">Helpers.inl:123</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#l00097">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#l00048">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#l00092">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00102">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00159">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00143">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00152">Window::y()</a>.</p>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00466">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#l00097">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00123">execute_window_loop()</a>, <a class="el" href="_c_l_2_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">arm_compute::test::validation::input</a>, <a class="el" href="_window_8inl_source.xhtml#l00049">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#l00092">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00102">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00173">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00143">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00152">Window::y()</a>.</p>
</div>
</div>
@@ -10654,11 +10922,12 @@
</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>
-<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="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> == <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>);</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>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>);</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 &)</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#l00466">Error.h:466</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a8fcf2ddd9a1d58b1b280f5c0aed71845"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">arm_compute::test::validation::input</a></div><div class="ttdeci">auto input</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">LSTMLayerQuantized.cpp:487</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_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#l00123">Helpers.inl:123</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#l00097">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#l00048">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00092">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00102">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00159">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00143">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00152">Window::y()</a>.</p>
+<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#l00466">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#l00097">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00123">execute_window_loop()</a>, <a class="el" href="_c_l_2_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">arm_compute::test::validation::input</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00185">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00049">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00092">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00102">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00173">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00143">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00152">Window::y()</a>.</p>
</div>
</div>
@@ -10705,11 +10974,12 @@
</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>
-<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="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> == <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>);</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>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>);</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 &)</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#l00466">Error.h:466</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a8fcf2ddd9a1d58b1b280f5c0aed71845"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">arm_compute::test::validation::input</a></div><div class="ttdeci">auto input</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">LSTMLayerQuantized.cpp:487</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_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#l00123">Helpers.inl:123</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#l00097">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#l00048">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00092">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00102">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00159">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00143">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00152">Window::y()</a>.</p>
+<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#l00466">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#l00097">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00123">execute_window_loop()</a>, <a class="el" href="_c_l_2_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">arm_compute::test::validation::input</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00185">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00049">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00092">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00102">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00173">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00143">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00152">Window::y()</a>.</p>
</div>
</div>
@@ -10756,10 +11026,11 @@
</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>
-<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 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> == <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>);</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>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>);</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 &)</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#l00466">Error.h:466</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a8fcf2ddd9a1d58b1b280f5c0aed71845"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">arm_compute::test::validation::input</a></div><div class="ttdeci">auto input</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">LSTMLayerQuantized.cpp:487</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#l00123">Helpers.inl:123</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">References <a class="el" href="_error_8h_source.xhtml#l00466">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00123">execute_window_loop()</a>, <a class="el" href="_c_l_2_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">arm_compute::test::validation::input</a>, and <a class="el" href="_helpers_8inl_source.xhtml#l00185">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>
@@ -10808,10 +11079,11 @@
</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>
-<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 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> == <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>);</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>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>);</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 &)</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#l00466">Error.h:466</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a8fcf2ddd9a1d58b1b280f5c0aed71845"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">arm_compute::test::validation::input</a></div><div class="ttdeci">auto input</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">LSTMLayerQuantized.cpp:487</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#l00123">Helpers.inl:123</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">References <a class="el" href="_error_8h_source.xhtml#l00466">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00123">execute_window_loop()</a>, <a class="el" href="_c_l_2_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">arm_compute::test::validation::input</a>, and <a class="el" href="_helpers_8inl_source.xhtml#l00185">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>
@@ -10860,11 +11132,12 @@
</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>
-<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="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> == <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>);</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>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>);</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 &)</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#l00466">Error.h:466</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a8fcf2ddd9a1d58b1b280f5c0aed71845"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">arm_compute::test::validation::input</a></div><div class="ttdeci">auto input</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">LSTMLayerQuantized.cpp:487</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_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#l00123">Helpers.inl:123</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#l00159">Window::validate()</a>.</p>
+<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#l00466">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00123">execute_window_loop()</a>, <a class="el" href="_c_l_2_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">arm_compute::test::validation::input</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00185">Iterator::ptr()</a>, and <a class="el" href="_window_8inl_source.xhtml#l00173">Window::validate()</a>.</p>
</div>
</div>
@@ -10911,10 +11184,11 @@
</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>
-<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 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> == <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>);</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>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>);</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 &)</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#l00466">Error.h:466</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a8fcf2ddd9a1d58b1b280f5c0aed71845"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">arm_compute::test::validation::input</a></div><div class="ttdeci">auto input</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">LSTMLayerQuantized.cpp:487</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#l00123">Helpers.inl:123</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">References <a class="el" href="_error_8h_source.xhtml#l00466">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00123">execute_window_loop()</a>, <a class="el" href="_c_l_2_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">arm_compute::test::validation::input</a>, and <a class="el" href="_helpers_8inl_source.xhtml#l00185">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>
@@ -10963,11 +11237,12 @@
</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>
-<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="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> == <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>);</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>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>);</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 &)</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#l00466">Error.h:466</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a8fcf2ddd9a1d58b1b280f5c0aed71845"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">arm_compute::test::validation::input</a></div><div class="ttdeci">auto input</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">LSTMLayerQuantized.cpp:487</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#l00123">Helpers.inl:123</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#l00097">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#l00048">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#l00092">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00102">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00159">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00143">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00152">Window::y()</a>.</p>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00466">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#l00097">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00123">execute_window_loop()</a>, <a class="el" href="_c_l_2_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">arm_compute::test::validation::input</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00185">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00049">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#l00092">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00102">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00173">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00143">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00152">Window::y()</a>.</p>
</div>
</div>
@@ -11014,11 +11289,12 @@
</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>
-<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="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> == <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>);</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>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>);</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 &)</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#l00466">Error.h:466</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a8fcf2ddd9a1d58b1b280f5c0aed71845"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">arm_compute::test::validation::input</a></div><div class="ttdeci">auto input</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">LSTMLayerQuantized.cpp:487</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#l00123">Helpers.inl:123</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#l00097">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#l00048">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#l00092">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00102">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00159">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00143">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00152">Window::y()</a>.</p>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00466">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#l00097">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00123">execute_window_loop()</a>, <a class="el" href="_c_l_2_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">arm_compute::test::validation::input</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00185">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00049">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#l00092">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00102">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00173">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00143">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00152">Window::y()</a>.</p>
</div>
</div>
@@ -11065,13 +11341,67 @@
</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>
-<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="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> == <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>);</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>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>);</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 &)</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#l00466">Error.h:466</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a8fcf2ddd9a1d58b1b280f5c0aed71845"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">arm_compute::test::validation::input</a></div><div class="ttdeci">auto input</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">LSTMLayerQuantized.cpp:487</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_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_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#l00123">Helpers.inl:123</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>
+<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#l00466">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00123">execute_window_loop()</a>, <a class="el" href="_c_l_2_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">arm_compute::test::validation::input</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00185">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="a499821e1decafea1f536bf81b1b554ed"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a499821e1decafea1f536bf81b1b554ed">◆ </a></span>compute_region_coordinate()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">float arm_compute::compute_region_coordinate </td>
+ <td>(</td>
+ <td class="paramtype">int </td>
+ <td class="paramname"><em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">float </td>
+ <td class="paramname"><em>bin_size</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">float </td>
+ <td class="paramname"><em>roi_anchor</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">float </td>
+ <td class="paramname"><em>max_value</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_r_o_i_align_layer_kernel_8cpp_source.xhtml#l00275">275</a> of file <a class="el" href="_n_e_r_o_i_align_layer_kernel_8cpp_source.xhtml">NEROIAlignLayerKernel.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00276"></a><span class="lineno"> 276</span> {</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> region_start = p * bin_size + roi_anchor;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1utility.xhtml#a96efecf997f13a914609ddf1eb67f624">utility::clamp</a>(region_start, 0.0f, max_value);</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span> }</div><div class="ttc" id="namespacearm__compute_1_1utility_xhtml_a96efecf997f13a914609ddf1eb67f624"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#a96efecf997f13a914609ddf1eb67f624">arm_compute::utility::clamp</a></div><div class="ttdeci">DataType clamp(const DataType &n, const DataType &lower=std::numeric_limits< RangeType >::lowest(), const DataType &upper=std::numeric_limits< RangeType >::max())</div><div class="ttdoc">Performs clamping among a lower and upper value.</div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00099">Utility.h:99</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_utility_8h_source.xhtml#l00099">arm_compute::utility::clamp()</a>.</p>
</div>
</div>
@@ -11132,7 +11462,7 @@
</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>
+<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#l00350">TensorInfo::set_tensor_shape()</a>.</p>
</div>
</div>
@@ -11241,7 +11571,59 @@
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00599">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#l00631">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#l00236">arm_compute::test::validation::reference::winograd_input_transform()</a>, and <a class="el" href="reference_2_winograd_8cpp_source.xhtml#l00440">arm_compute::test::validation::reference::winograd_output_transform()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="_shape_calculator_8h_source.xhtml#l00631">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#l00138">CLWinogradOutputTransformKernel::configure()</a>, <a class="el" href="reference_2_winograd_8cpp_source.xhtml#l00236">arm_compute::test::validation::reference::winograd_input_transform()</a>, and <a class="el" href="reference_2_winograd_8cpp_source.xhtml#l00440">arm_compute::test::validation::reference::winograd_output_transform()</a>.</p>
+
+</div>
+</div>
+<a id="a519df47124aa903c7de8be2624640c1b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a519df47124aa903c7de8be2624640c1b">◆ </a></span>convert_negative_axis()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a>& arm_compute::convert_negative_axis </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> & </td>
+ <td class="paramname"><em>coords</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int </td>
+ <td class="paramname"><em>max_value</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>Convert negative coordinates to positive in the range [0, num_dims_input]. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[out]</td><td class="paramname">coords</td><td><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 coordinates to be converted. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">max_value</td><td>Maximum value to be used when wrapping the negative values in coords </td></tr>
+ </table>
+ </dd>
+</dl>
+
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00774">774</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="l00775"></a><span class="lineno"> 775</span> {</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>  <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < coords.num_dimensions(); ++i)</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>  coords[i] = <a class="code" href="namespacearm__compute.xhtml#aeb6881009f40f57d430752441ec5c4f4">wrap_around</a>(coords[i], max_value);</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> coords;</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_aeb6881009f40f57d430752441ec5c4f4"><div class="ttname"><a href="namespacearm__compute.xhtml#aeb6881009f40f57d430752441ec5c4f4">arm_compute::wrap_around</a></div><div class="ttdeci">T wrap_around(T x, T m)</div><div class="ttdoc">Wrap-around a number within the range 0 <= x < m.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00764">Helpers.h:764</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="arm__compute_2core_2_helpers_8h_source.xhtml#l00764">wrap_around()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_n_e_reduce_mean_8cpp_source.xhtml#l00128">NEReduceMean::configure()</a>, and <a class="el" href="_n_e_reduce_mean_8cpp_source.xhtml#l00070">validate_config()</a>.</p>
</div>
</div>
@@ -11290,11 +11672,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>
-<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, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a1a367830ae09bf6138df822888ec1d71">w</a>[i].start() + <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a>[i] * <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a1a367830ae09bf6138df822888ec1d71">w</a>[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#l00328">helpers.h:328</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, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a1a367830ae09bf6138df822888ec1d71">w</a>[i].start() + <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a>[i] * <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a1a367830ae09bf6138df822888ec1d71">w</a>[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#l00510">helpers.h:510</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a1a367830ae09bf6138df822888ec1d71"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a1a367830ae09bf6138df822888ec1d71">arm_compute::test::validation::w</a></div><div class="ttdeci">SimpleTensor< float > w</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_2_d_f_t_8cpp_source.xhtml#l00156">DFT.cpp:156</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#l00328">offset()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00074">Dimensions< T >::set()</a>, <a class="el" href="_c_l_2_select_8cpp_source.xhtml#l00172">arm_compute::test::validation::step</a>, and <a class="el" href="_c_p_p_2_d_f_t_8cpp_source.xhtml#l00156">arm_compute::test::validation::w</a>.</p>
+<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#l00510">offset()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00074">Dimensions< T >::set()</a>, <a class="el" href="_c_l_2_select_8cpp_source.xhtml#l00172">arm_compute::test::validation::step</a>, and <a class="el" href="_c_p_p_2_d_f_t_8cpp_source.xhtml#l00156">arm_compute::test::validation::w</a>.</p>
</div>
</div>
@@ -11342,12 +11724,12 @@
</dl>
<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>
-<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>
+<p class="definition">Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00309">309</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
+<div class="fragment"><div class="line"><a name="l00310"></a><span class="lineno"> 310</span> {</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  <span class="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="l00312"></a><span class="lineno"> 312</span>  <a class="code" href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(num_elements);</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <a class="code" href="_error_8h.xhtml#a0b0eb3235749a2909dc5a101afe59a1b">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="l00314"></a><span class="lineno"> 314</span> </div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  <span class="keywordtype">int</span> index = 0;</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <span class="keywordtype">int</span> stride = 1;</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">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="l00319"></a><span class="lineno"> 319</span>  {</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  index += coord[d] * stride;</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  stride *= <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>[d];</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> </div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <span class="keywordflow">return</span> index;</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</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#l00152">Error.h:152</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a0b0eb3235749a2909dc5a101afe59a1b"><div class="ttname"><a href="_error_8h.xhtml#a0b0eb3235749a2909dc5a101afe59a1b">ARM_COMPUTE_ERROR_ON_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_MSG(cond, msg)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00456">Error.h:456</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">References <a class="el" href="_error_8h_source.xhtml#l00456">ARM_COMPUTE_ERROR_ON_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00152">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#l00236">arm_compute::test::validation::reference::winograd_input_transform()</a>.</p>
@@ -11387,11 +11769,11 @@
<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 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#a7cf8d8b669b8f7b05680230be30d60f4">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_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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">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#l00352">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#l00090">main()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="main_8cpp_source.xhtml#l00093">main()</a>.</p>
</div>
</div>
@@ -11421,11 +11803,14 @@
<dl class="section return"><dt>Returns</dt><dd>A unique pointer pointed to a CL/GLES kernel object </dd></dl>
<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00074">74</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="l00075"></a><span class="lineno"> 75</span> {</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  std::unique_ptr<Kernel> k = arm_compute::support::cpp14::make_unique<Kernel>();</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  k->configure(std::forward<T>(args)...);</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="keywordflow">return</span> k;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span> }</div></div><!-- fragment -->
+<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>  std::unique_ptr<Kernel> k = arm_compute::support::cpp14::make_unique<Kernel>();</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  k->configure(std::forward<T>(<a class="code" href="namespace_gemm_tuner.xhtml#a8187411843a6284ffb964ef3fb9fcab3">args</a>)...);</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="keywordflow">return</span> k;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span> }</div><div class="ttc" id="namespace_gemm_tuner_xhtml_a8187411843a6284ffb964ef3fb9fcab3"><div class="ttname"><a href="namespace_gemm_tuner.xhtml#a8187411843a6284ffb964ef3fb9fcab3">GemmTuner.args</a></div><div class="ttdeci">args</div><div class="ttdef"><b>Definition:</b> <a href="_gemm_tuner_8py_source.xhtml#l00555">GemmTuner.py:555</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_gemm_tuner_8py_source.xhtml#l00555">GemmTuner::args</a>.</p>
+
</div>
</div>
-<a id="a439338e8e5a7c76a079aca52e16cff79"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a439338e8e5a7c76a079aca52e16cff79">◆ </a></span>create_error()</h2>
+<a id="a49cdbfceec3cb9949d00dbd1a17c5604"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a49cdbfceec3cb9949d00dbd1a17c5604">◆ </a></span>create_error()</h2>
<div class="memitem">
<div class="memproto">
@@ -11439,32 +11824,8 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>function</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>file</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const int </td>
- <td class="paramname"><em>line</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>msg</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"> </td>
- <td class="paramname"><em>...</em> </td>
+ <td class="paramtype">std::string </td>
+ <td class="paramname"><em>msg</em> </td>
</tr>
<tr>
<td></td>
@@ -11478,31 +11839,25 @@
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">error_code</td><td>Error code </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>Message to display before aborting. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">...</td><td>Variable number of arguments of the message.</td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>Message to display before aborting.</td></tr>
</table>
</dd>
</dl>
<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#l00043">43</a> of file <a class="el" href="_error_8cpp_source.xhtml">Error.cpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> {</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  va_list args;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  va_start(args, msg);</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</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="l00048"></a><span class="lineno"> 48</span>  va_end(args);</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keywordflow">return</span> err;</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</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#l00034">Error.cpp:34</a></div></div>
+<p class="definition">Definition at line <a class="el" href="_error_8cpp_source.xhtml#l00034">34</a> of file <a class="el" href="_error_8cpp_source.xhtml">Error.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> {</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">Status</a>(error_code, msg);</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> }</div><div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class.</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
</div><!-- fragment -->
-<p class="reference">References <a class="el" href="_error_8cpp_source.xhtml#l00034">create_error_va_list()</a>.</p>
-
</div>
</div>
-<a id="aee087c8a7edb0fb5b7e75b9037e34cf7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aee087c8a7edb0fb5b7e75b9037e34cf7">◆ </a></span>create_error_va_list()</h2>
+<a id="af9b3e9f3ef6409e72c71aeacebf58f3b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af9b3e9f3ef6409e72c71aeacebf58f3b">◆ </a></span>create_error_msg()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">Status</a> create_error_va_list </td>
+ <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">Status</a> create_error_msg </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05f">ErrorCode</a> </td>
<td class="paramname"><em>error_code</em>, </td>
@@ -11511,7 +11866,7 @@
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
- <td class="paramname"><em>function</em>, </td>
+ <td class="paramname"><em>func</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -11522,20 +11877,14 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const int </td>
+ <td class="paramtype">int </td>
<td class="paramname"><em>line</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
- <td class="paramname"><em>msg</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">va_list </td>
- <td class="paramname"><em>args</em> </td>
+ <td class="paramname"><em>msg</em> </td>
</tr>
<tr>
<td></td>
@@ -11545,28 +11894,24 @@
</table>
</div><div class="memdoc">
-<p>Creates an error containing the error message from variable argument list. </p>
+<p>Creates an error and the error message. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">error_code</td><td>Error code </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>Message to display before aborting. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">args</td><td>Variable argument list of the message.</td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>Function in which the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>File in which the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line in which the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>Message to display before aborting.</td></tr>
</table>
</dd>
</dl>
<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#l00034">34</a> of file <a class="el" href="_error_8cpp_source.xhtml">Error.cpp</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>  std::array<char, 512> out{ 0 };</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</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.data(), out.size(), <span class="stringliteral">"in %s %s:%d: "</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  vsnprintf(out.data() + <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a>, out.size() - <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="l00039"></a><span class="lineno"> 39</span> </div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">Status</a>(error_code, std::string(out.data()));</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</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#l00328">helpers.h:328</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#l00353">ToolchainSupport.h:353</a></div></div>
+<p class="definition">Definition at line <a class="el" href="_error_8cpp_source.xhtml#l00039">39</a> of file <a class="el" href="_error_8cpp_source.xhtml">Error.cpp</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>  std::array<char, 512> out{ 0 };</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#a9429515817425d10f4b662eaa069cc5c">snprintf</a>(out.data(), out.size(), <span class="stringliteral">"in %s %s:%d: %s"</span>, func, file, line, msg);</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">Status</a>(error_code, std::string(out.data()));</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> }</div><div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class.</div><div class="ttdef"><b>Definition:</b> <a href="_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#l00387">ToolchainSupport.h:387</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#l00328">offset()</a>, and <a class="el" href="_toolchain_support_8h_source.xhtml#l00353">arm_compute::support::cpp11::snprintf()</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_error_8cpp_source.xhtml#l00043">create_error()</a>, and <a class="el" href="_error_8cpp_source.xhtml#l00052">error()</a>.</p>
+<p class="reference">References <a class="el" href="_toolchain_support_8h_source.xhtml#l00387">arm_compute::support::cpp11::snprintf()</a>.</p>
</div>
</div>
@@ -11590,7 +11935,7 @@
<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>
<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#l00041">CLAccumulateKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_c_h_w_kernel_8cpp_source.xhtml#l00227">CLDepthwiseConvolutionLayer3x3NCHWKernel::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_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_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00178">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="_c_l_depthwise_convolution_layer_reshape_weights_kernel_8cpp_source.xhtml#l00087">CLDepthwiseConvolutionLayerReshapeWeightsKernel::configure()</a>, <a class="el" href="_c_l_dequantization_layer_kernel_8cpp_source.xhtml#l00077">CLDequantizationLayerKernel::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_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_channel_shuffle_layer_kernel_8cpp_source.xhtml#l00095">CLChannelShuffleLayerKernel::configure()</a>, <a class="el" href="_c_l_copy_kernel_8cpp_source.xhtml#l00157">CLCopyKernel::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_gaussian_pyramid_kernel_8cpp_source.xhtml#l00044">CLGaussianPyramidHorKernel::configure()</a>, <a class="el" href="_c_l_space_to_depth_layer_kernel_8cpp_source.xhtml#l00067">CLSpaceToDepthLayerKernel::configure()</a>, <a class="el" href="_c_l_depth_to_space_layer_kernel_8cpp_source.xhtml#l00066">CLDepthToSpaceLayerKernel::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_histogram_kernel_8cpp_source.xhtml#l00053">CLHistogramKernel::configure()</a>, <a class="el" href="_c_l_normalization_layer_kernel_8cpp_source.xhtml#l00107">CLNormalizationLayerKernel::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="_c_l_space_to_batch_layer_kernel_8cpp_source.xhtml#l00090">CLSpaceToBatchLayerKernel::configure()</a>, <a class="el" href="_c_l_bitwise_and_kernel_8cpp_source.xhtml#l00040">CLBitwiseAndKernel::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_upsample_layer_kernel_8cpp_source.xhtml#l00066">CLUpsampleLayerKernel::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_min_max_location_kernel_8cpp_source.xhtml#l00062">CLMinMaxKernel::configure()</a>, <a class="el" href="_c_l_quantization_layer_kernel_8cpp_source.xhtml#l00075">CLQuantizationLayerKernel::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_bitwise_xor_kernel_8cpp_source.xhtml#l00041">CLBitwiseXorKernel::configure()</a>, <a class="el" href="_c_l_deconvolution_layer_upsample_kernel_8cpp_source.xhtml#l00070">CLDeconvolutionLayerUpsampleKernel::configure()</a>, <a class="el" href="_c_l_sobel3x3_kernel_8cpp_source.xhtml#l00050">CLSobel3x3Kernel::configure()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00119">CLActivationLayerKernel::configure()</a>, <a class="el" href="_g_c_activation_layer_kernel_8cpp_source.xhtml#l00047">GCActivationLayerKernel::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_depthwise_convolution_layer3x3_kernel_8cpp_source.xhtml#l00051">GCDepthwiseConvolutionLayer3x3Kernel::configure()</a>, <a class="el" href="_g_c_pooling_layer_kernel_8cpp_source.xhtml#l00226">GCPoolingLayerKernel::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_comparison_kernel_8cpp_source.xhtml#l00113">CLComparisonKernel::configure()</a>, <a class="el" href="_c_l_mean_std_dev_normalization_kernel_8cpp_source.xhtml#l00085">CLMeanStdDevNormalizationKernel::configure()</a>, <a class="el" href="_c_l_memset_kernel_8cpp_source.xhtml#l00042">CLMemsetKernel::configure()</a>, <a class="el" href="_c_l_f_f_t_scale_kernel_8cpp_source.xhtml#l00078">CLFFTScaleKernel::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_width_concatenate2_tensors_kernel_8cpp_source.xhtml#l00098">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_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_f_f_t_digit_reverse_kernel_8cpp_source.xhtml#l00075">CLFFTDigitReverseKernel::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_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00132">CLPixelWiseMultiplicationKernel::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#l00064">CLDepthwiseVectorToTensorKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate_layer_kernel_8cpp_source.xhtml#l00093">CLWidthConcatenateLayerKernel::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="_c_l_absolute_difference_kernel_8cpp_source.xhtml#l00047">CLAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_c_l_height_concatenate_layer_kernel_8cpp_source.xhtml#l00092">CLHeightConcatenateLayerKernel::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_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00094">GCNormalizePlanarYUVLayerKernel::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#l00146">CLReductionOperationKernel::configure()</a>, <a class="el" href="_c_l_crop_kernel_8cpp_source.xhtml#l00049">CLCropKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_native_kernel_8cpp_source.xhtml#l00175">CLGEMMLowpMatrixMultiplyNativeKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate4_tensors_kernel_8cpp_source.xhtml#l00116">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_g_e_m_m_reshape_r_h_s_matrix_kernel_8cpp_source.xhtml#l00103">CLGEMMReshapeRHSMatrixKernel::configure()</a>, <a class="el" href="_c_l_range_kernel_8cpp_source.xhtml#l00093">CLRangeKernel::configure()</a>, <a class="el" href="_c_l_color_convert_kernel_8cpp_source.xhtml#l00048">CLColorConvertKernel::configure()</a>, <a class="el" href="_c_l_l2_normalize_layer_kernel_8cpp_source.xhtml#l00098">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_mean_std_dev_kernel_8cpp_source.xhtml#l00066">CLMeanStdDevKernel::configure()</a>, <a class="el" href="_c_l_select_kernel_8cpp_source.xhtml#l00109">CLSelectKernel::configure()</a>, <a class="el" href="_c_l_channel_combine_kernel_8cpp_source.xhtml#l00054">CLChannelCombineKernel::configure()</a>, <a class="el" href="_c_l_f_f_t_radix_stage_kernel_8cpp_source.xhtml#l00085">CLFFTRadixStageKernel::configure()</a>, <a class="el" href="_c_l_stack_layer_kernel_8cpp_source.xhtml#l00084">CLStackLayerKernel::configure()</a>, <a class="el" href="_c_l_depthwise_im2_col_kernel_8cpp_source.xhtml#l00066">CLDepthwiseIm2ColKernel::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#l00044">GCDepthConcatenateLayerKernel::configure()</a>, <a class="el" href="_c_l_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00085">CLDepthConcatenateLayerKernel::configure()</a>, <a class="el" href="_c_l_batch_concatenate_layer_kernel_8cpp_source.xhtml#l00090">CLBatchConcatenateLayerKernel::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#l00060">CLConvolutionKernel< matrix_size >::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_g_e_m_m_lowp_matrix_multiply_reshaped_only_r_h_s_kernel_8cpp_source.xhtml#l00173">CLGEMMLowpMatrixMultiplyReshapedOnlyRHSKernel::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#l00085">CLIntegralImageVertKernel::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_native_kernel_8cpp_source.xhtml#l00212">CLGEMMMatrixMultiplyNativeKernel::configure()</a>, <a class="el" href="_c_l_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00107">CLFuseBatchNormalizationKernel::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_softmax_layer_kernel_8cpp_source.xhtml#l00107">GCLogits1DShiftExpSumKernel::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_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_batch_normalization_layer_kernel_8cpp_source.xhtml#l00139">CLBatchNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_kernel_8cpp_source.xhtml#l00173">CLGEMMLowpMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_offset_contribution_output_stage_kernel_8cpp_source.xhtml#l00160">CLGEMMLowpOffsetContributionOutputStageKernel::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_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_matrix_multiply_reshaped_only_r_h_s_kernel_8cpp_source.xhtml#l00215">CLGEMMMatrixMultiplyReshapedOnlyRHSKernel::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#l00305">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#l00053">CLAccumulateWeightedKernel::configure()</a>, <a class="el" href="_c_l_deconvolution_reshape_output_kernel_8cpp_source.xhtml#l00120">CLDeconvolutionReshapeOutputKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_quantize_down_int32_to_int16_scale_by_fixed_point_kernel_8cpp_source.xhtml#l00123">CLGEMMLowpQuantizeDownInt32ToInt16ScaleByFixedPointKernel::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_direct_convolution_layer_kernel_8cpp_source.xhtml#l00389">CLDirectConvolutionLayerKernel::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_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_quantize_down_int32_to_uint8_scale_kernel_8cpp_source.xhtml#l00114">CLGEMMLowpQuantizeDownInt32ToUint8ScaleKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_reshaped_kernel_8cpp_source.xhtml#l00214">CLGEMMMatrixMultiplyReshapedKernel::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_reduction_kernel_8cpp_source.xhtml#l00103">CLGEMMLowpMatrixAReductionKernel::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#l00091">CLCol2ImKernel::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_im2_col_kernel_8cpp_source.xhtml#l00294">CLIm2ColKernel::configure()</a>, <a class="el" href="_c_l_weights_reshape_kernel_8cpp_source.xhtml#l00078">CLWeightsReshapeKernel::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_gaussian_pyramid_kernel_8cpp_source.xhtml#l00150">CLGaussianPyramidVertKernel::configure()</a>, <a class="el" href="_c_l_histogram_kernel_8cpp_source.xhtml#l00158">CLHistogramBorderKernel::configure()</a>, <a class="el" href="_c_l_accumulate_kernel_8cpp_source.xhtml#l00070">CLAccumulateSquaredKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00120">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#l00139">CLHOGBlockNormalizationKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00130">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#l00169">CLGEMMLowpMatrixBReductionKernel::configure()</a>, <a class="el" href="_c_l_sobel7x7_kernel_8cpp_source.xhtml#l00150">CLSobel7x7VertKernel::configure()</a>, <a class="el" href="_c_l_sobel5x5_kernel_8cpp_source.xhtml#l00148">CLSobel5x5VertKernel::configure()</a>, <a class="el" href="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00133">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_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00349">CLComplexPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00199">CLSeparableConvolutionVertKernel< matrix_size >::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00194">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#l00281">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#l00337">CLLogits1DNormKernel::configure()</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_table_lookup_kernel_8cpp_source.xhtml#l00039">CLTableLookupKernel::configure()</a>, <a class="el" href="_c_l_dilate_kernel_8cpp_source.xhtml#l00039">CLDilateKernel::configure()</a>, <a class="el" href="_c_l_box3x3_kernel_8cpp_source.xhtml#l00043">CLBox3x3Kernel::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_non_maxima_suppression3x3_kernel_8cpp_source.xhtml#l00044">CLNonMaximaSuppression3x3Kernel::configure()</a>, <a class="el" href="_c_l_bitwise_not_kernel_8cpp_source.xhtml#l00034">CLBitwiseNotKernel::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#l00041">CLAccumulateKernel::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_g_e_m_m_matrix_accumulate_biases_kernel_8cpp_source.xhtml#l00079">CLGEMMMatrixAccumulateBiasesKernel::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#l00086">CLDepthwiseConvolutionLayerReshapeWeightsKernel::configure()</a>, <a class="el" href="_c_l_dequantization_layer_kernel_8cpp_source.xhtml#l00077">CLDequantizationLayerKernel::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_channel_shuffle_layer_kernel_8cpp_source.xhtml#l00095">CLChannelShuffleLayerKernel::configure()</a>, <a class="el" href="_c_l_copy_kernel_8cpp_source.xhtml#l00157">CLCopyKernel::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_generate_proposals_layer_kernel_8cpp_source.xhtml#l00073">CLComputeAllAnchorsKernel::configure()</a>, <a class="el" href="_c_l_histogram_kernel_8cpp_source.xhtml#l00053">CLHistogramKernel::configure()</a>, <a class="el" href="_c_l_depth_to_space_layer_kernel_8cpp_source.xhtml#l00066">CLDepthToSpaceLayerKernel::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#l00076">CLPermuteKernel::configure()</a>, <a class="el" href="_c_l_space_to_depth_layer_kernel_8cpp_source.xhtml#l00067">CLSpaceToDepthLayerKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00040">CLGradientKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_c_h_w_kernel_8cpp_source.xhtml#l00243">CLDepthwiseConvolutionLayer3x3NCHWKernel::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_locally_connected_matrix_multiply_kernel_8cpp_source.xhtml#l00084">CLLocallyConnectedMatrixMultiplyKernel::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_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_deconvolution_layer_upsample_kernel_8cpp_source.xhtml#l00070">CLDeconvolutionLayerUpsampleKernel::configure()</a>, <a class="el" href="_c_l_space_to_batch_layer_kernel_8cpp_source.xhtml#l00090">CLSpaceToBatchLayerKernel::configure()</a>, <a class="el" href="_c_l_bitwise_xor_kernel_8cpp_source.xhtml#l00041">CLBitwiseXorKernel::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_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00197">CLDepthwiseConvolutionLayer3x3NHWCKernel::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="_c_l_derivative_kernel_8cpp_source.xhtml#l00050">CLDerivativeKernel::configure()</a>, <a class="el" href="_c_l_mean_std_dev_normalization_kernel_8cpp_source.xhtml#l00085">CLMeanStdDevNormalizationKernel::configure()</a>, <a class="el" href="_c_l_memset_kernel_8cpp_source.xhtml#l00042">CLMemsetKernel::configure()</a>, <a class="el" href="_c_l_comparison_kernel_8cpp_source.xhtml#l00113">CLComparisonKernel::configure()</a>, <a class="el" href="_g_c_pooling_layer_kernel_8cpp_source.xhtml#l00226">GCPoolingLayerKernel::configure()</a>, <a class="el" href="_c_l_f_f_t_scale_kernel_8cpp_source.xhtml#l00078">CLFFTScaleKernel::configure()</a>, <a class="el" href="_c_l_sobel3x3_kernel_8cpp_source.xhtml#l00050">CLSobel3x3Kernel::configure()</a>, <a class="el" href="_c_l_depth_convert_layer_kernel_8cpp_source.xhtml#l00074">CLDepthConvertLayerKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate2_tensors_kernel_8cpp_source.xhtml#l00098">CLWidthConcatenate2TensorsKernel::configure()</a>, <a class="el" href="_c_l_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00048">CLHOGOrientationBinningKernel::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_f_f_t_digit_reverse_kernel_8cpp_source.xhtml#l00075">CLFFTDigitReverseKernel::configure()</a>, <a class="el" href="_c_l_instance_normalization_layer_kernel_8cpp_source.xhtml#l00081">CLInstanceNormalizationLayerKernel::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_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00132">CLPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_c_l_pooling_layer_kernel_8cpp_source.xhtml#l00184">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_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_width_concatenate_layer_kernel_8cpp_source.xhtml#l00093">CLWidthConcatenateLayerKernel::configure()</a>, <a class="el" href="_c_l_height_concatenate_layer_kernel_8cpp_source.xhtml#l00093">CLHeightConcatenateLayerKernel::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_prior_box_layer_kernel_8cpp_source.xhtml#l00103">CLPriorBoxLayerKernel::configure()</a>, <a class="el" href="_c_l_pad_layer_kernel_8cpp_source.xhtml#l00097">CLPadLayerKernel::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_absolute_difference_kernel_8cpp_source.xhtml#l00047">CLAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_c_l_crop_kernel_8cpp_source.xhtml#l00049">CLCropKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_native_kernel_8cpp_source.xhtml#l00172">CLGEMMLowpMatrixMultiplyNativeKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate4_tensors_kernel_8cpp_source.xhtml#l00116">CLWidthConcatenate4TensorsKernel::configure()</a>, <a class="el" href="_c_l_l2_normalize_layer_kernel_8cpp_source.xhtml#l00098">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_mean_std_dev_kernel_8cpp_source.xhtml#l00066">CLMeanStdDevKernel::configure()</a>, <a class="el" href="_c_l_color_convert_kernel_8cpp_source.xhtml#l00048">CLColorConvertKernel::configure()</a>, <a class="el" href="_c_l_bounding_box_transform_kernel_8cpp_source.xhtml#l00090">CLBoundingBoxTransformKernel::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_r_h_s_matrix_kernel_8cpp_source.xhtml#l00102">CLGEMMReshapeRHSMatrixKernel::configure()</a>, <a class="el" href="_g_c_arithmetic_addition_kernel_8cpp_source.xhtml#l00091">GCArithmeticAdditionKernel::configure()</a>, <a class="el" href="_c_l_channel_combine_kernel_8cpp_source.xhtml#l00054">CLChannelCombineKernel::configure()</a>, <a class="el" href="_c_l_f_f_t_radix_stage_kernel_8cpp_source.xhtml#l00085">CLFFTRadixStageKernel::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#l00122">CLGEMMReshapeLHSMatrixKernel::configure()</a>, <a class="el" href="_c_l_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00085">CLDepthConcatenateLayerKernel::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_convert_fully_connected_weights_kernel_8cpp_source.xhtml#l00040">CLConvertFullyConnectedWeightsKernel::configure()</a>, <a class="el" href="_c_l_batch_concatenate_layer_kernel_8cpp_source.xhtml#l00090">CLBatchConcatenateLayerKernel::configure()</a>, <a class="el" href="_g_c_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00044">GCDepthConcatenateLayerKernel::configure()</a>, <a class="el" href="_c_l_stack_layer_kernel_8cpp_source.xhtml#l00084">CLStackLayerKernel::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_lowp_matrix_multiply_reshaped_only_r_h_s_kernel_8cpp_source.xhtml#l00172">CLGEMMLowpMatrixMultiplyReshapedOnlyRHSKernel::configure()</a>, <a class="el" href="_c_l_integral_image_kernel_8cpp_source.xhtml#l00085">CLIntegralImageVertKernel::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_native_kernel_8cpp_source.xhtml#l00213">CLGEMMMatrixMultiplyNativeKernel::configure()</a>, <a class="el" href="_c_l_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00107">CLFuseBatchNormalizationKernel::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="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00107">GCLogits1DShiftExpSumKernel::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_reduction_operation_kernel_8cpp_source.xhtml#l00145">CLReductionOperationKernel::configure()</a>, <a class="el" href="_c_l_batch_normalization_layer_kernel_8cpp_source.xhtml#l00139">CLBatchNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_r_o_i_align_layer_kernel_8cpp_source.xhtml#l00105">CLROIAlignLayerKernel::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_depthwise_convolution_layer_native_kernel_8cpp_source.xhtml#l00180">CLDepthwiseConvolutionLayerNativeKernel::configure()</a>, <a class="el" href="_c_l_winograd_output_transform_kernel_8cpp_source.xhtml#l00138">CLWinogradOutputTransformKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_reshaped_only_r_h_s_kernel_8cpp_source.xhtml#l00216">CLGEMMMatrixMultiplyReshapedOnlyRHSKernel::configure()</a>, <a class="el" href="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00050">CLFastCornersKernel::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#l00053">CLAccumulateWeightedKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00305">CLGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00412">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_deconvolution_reshape_output_kernel_8cpp_source.xhtml#l00115">CLDeconvolutionReshapeOutputKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_offset_contribution_output_stage_kernel_8cpp_source.xhtml#l00182">CLGEMMLowpOffsetContributionOutputStageKernel::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_scharr3x3_kernel_8cpp_source.xhtml#l00050">CLScharr3x3Kernel::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#l00091">CLCol2ImKernel::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_im2_col_kernel_8cpp_source.xhtml#l00294">CLIm2ColKernel::configure()</a>, <a class="el" href="_c_l_weights_reshape_kernel_8cpp_source.xhtml#l00079">CLWeightsReshapeKernel::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#l00158">CLHistogramBorderKernel::configure()</a>, <a class="el" href="_c_l_gaussian_pyramid_kernel_8cpp_source.xhtml#l00150">CLGaussianPyramidVertKernel::configure()</a>, <a class="el" href="_c_l_accumulate_kernel_8cpp_source.xhtml#l00070">CLAccumulateSquaredKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00120">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#l00139">CLHOGBlockNormalizationKernel::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#l00150">CLSobel7x7VertKernel::configure()</a>, <a class="el" href="_c_l_sobel5x5_kernel_8cpp_source.xhtml#l00148">CLSobel5x5VertKernel::configure()</a>, <a class="el" href="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00133">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_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00349">CLComplexPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00194">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#l00281">CLConvolutionRectangleKernel::configure()</a>, <a class="el" href="_c_l_l_k_tracker_kernel_8cpp_source.xhtml#l00213">CLLKTrackerStage1Kernel::configure()</a>, <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00340">CLLogits1DNormKernel::configure()</a>, and <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00332">create_opencl_kernel()</a>.</p>
</div>
</div>
@@ -11613,14 +11958,154 @@
<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>  std::array<cl_context_properties, 7> properties = { 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.data(), <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#l00136">OpenCL.cpp: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>
+<p class="definition">Definition at line <a class="el" href="runtime_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00088">88</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="l00089"></a><span class="lineno"> 89</span> {</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</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="l00091"></a><span class="lineno"> 91</span>  std::vector<cl::Platform> platforms;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  cl::Platform::get(&platforms);</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <a class="code" href="_error_8h.xhtml#a0b0eb3235749a2909dc5a101afe59a1b">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="l00094"></a><span class="lineno"> 94</span>  cl::Platform p = platforms[0];</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  cl::Device device;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  std::vector<cl::Device> platform_devices;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  p.getDevices(CL_DEVICE_TYPE_DEFAULT, &platform_devices);</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <a class="code" href="_error_8h.xhtml#a0b0eb3235749a2909dc5a101afe59a1b">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="l00099"></a><span class="lineno"> 99</span>  device = platform_devices[0];</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  cl_int err = CL_SUCCESS;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  std::array<cl_context_properties, 7> properties = { 0, 0, 0, 0, 0, 0, 0 };</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  initialise_context_properties(p, device, properties);</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  cl::Context cl_context = cl::Context(device, properties.data(), <span class="keyword">nullptr</span>, <span class="keyword">nullptr</span>, &err);</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <a class="code" href="_error_8h.xhtml#a0b0eb3235749a2909dc5a101afe59a1b">ARM_COMPUTE_ERROR_ON_MSG</a>(err != CL_SUCCESS, <span class="stringliteral">"Failed to create OpenCL context"</span>);</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordflow">return</span> std::make_tuple(cl_context, device, err);</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</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#l00466">Error.h:466</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a0b0eb3235749a2909dc5a101afe59a1b"><div class="ttname"><a href="_error_8h.xhtml#a0b0eb3235749a2909dc5a101afe59a1b">ARM_COMPUTE_ERROR_ON_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_MSG(cond, msg)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00456">Error.h:456</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#l00142">OpenCL.cpp:142</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#l00136">opencl_is_available()</a>.</p>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00466">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_error_8h_source.xhtml#l00456">ARM_COMPUTE_ERROR_ON_MSG</a>, and <a class="el" href="_open_c_l_8cpp_source.xhtml#l00142">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>
+<p class="reference">Referenced by <a class="el" href="_c_l_runtime_context_8cpp_source.xhtml#l00031">CLRuntimeContext::CLRuntimeContext()</a>, <a class="el" href="_c_l_scheduler_8cpp_source.xhtml#l00119">CLScheduler::default_init()</a>, and <a class="el" href="main_8cpp_source.xhtml#l00093">main()</a>.</p>
+
+</div>
+</div>
+<a id="ada43831ccb18a13573b5aa39ee06fbb6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ada43831ccb18a13573b5aa39ee06fbb6">◆ </a></span>create_opencl_kernel()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">cl::Kernel create_opencl_kernel </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarm__compute_1_1_c_l_core_runtime_context.xhtml">CLCoreRuntimeContext</a> * </td>
+ <td class="paramname"><em>ctx</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const std::string & </td>
+ <td class="paramname"><em>kernel_name</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_c_l_build_options.xhtml">CLBuildOptions</a> & </td>
+ <td class="paramname"><em>build_opts</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Creates an opencl kernel. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>A context to be used to create the opencl kernel. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">kernel_name</td><td>The kernel name. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">build_opts</td><td>The build options to be used for the opencl kernel compilation.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>An opencl kernel </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00332">332</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="l00333"></a><span class="lineno"> 333</span> {</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <span class="keywordflow">if</span>(ctx && ctx->kernel_library())</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="comment">// New api going through the core context</span></div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <span class="keywordflow">return</span> static_cast<cl::Kernel>(ctx->kernel_library()->create_kernel(kernel_name, build_opts.options()));</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  }</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="keywordflow">else</span></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="comment">// Legacy code through the singleton</span></div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <span class="keywordflow">return</span> static_cast<cl::Kernel>(CLKernelLibrary::get().<a class="code" href="namespacearm__compute.xhtml#abc72c95941485d8a068fa38372308574">create_kernel</a>(kernel_name, build_opts.options()));</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  }</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_abc72c95941485d8a068fa38372308574"><div class="ttname"><a href="namespacearm__compute.xhtml#abc72c95941485d8a068fa38372308574">arm_compute::create_kernel</a></div><div class="ttdeci">std::unique_ptr< Kernel > create_kernel()</div><div class="ttdoc">Helper function to create and return a unique_ptr pointed to a CL/GLES kernel object.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00086">Helpers.h:86</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00086">create_kernel()</a>, <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l01070">CLKernelLibrary::create_kernel()</a>, <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l01064">CLKernelLibrary::get()</a>, <a class="el" href="_c_l_core_runtime_context_8cpp_source.xhtml#l00048">CLCoreRuntimeContext::kernel_library()</a>, and <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l00074">CLBuildOptions::options()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00119">CLActivationLayerKernel::configure()</a>.</p>
+
+</div>
+</div>
+<a id="a7a693978af5e57f16ba933439da00aeb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7a693978af5e57f16ba933439da00aeb">◆ </a></span>create_opengl_display_and_context()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">std::tuple< EGLDisplay, EGLContext, EGLBoolean > create_opengl_display_and_context </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>This function creates an OpenGL-ES context and a display. </p>
+<dl class="section return"><dt>Returns</dt><dd>A std::tuple where the first element is the opengl display, the second element is the opengl context and the third one an error code. The error code will be EGL_TRUE 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_g_l_e_s___c_o_m_p_u_t_e_2_g_c_helpers_8cpp_source.xhtml#l00031">31</a> of file <a class="el" href="runtime_2_g_l_e_s___c_o_m_p_u_t_e_2_g_c_helpers_8cpp_source.xhtml">GCHelpers.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> {</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  EGLBoolean res;</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  EGLDisplay display = <a class="code" href="_open_g_l_e_s_8cpp.xhtml#a2ffc3e7fe8b002896756a3508800d3fa">eglGetDisplay</a>(EGL_DEFAULT_DISPLAY);</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>  <a class="code" href="_error_8h.xhtml#acaa348bf0c7eb9493c72092b7293d45f">ARM_COMPUTE_ERROR_ON_MSG_VAR</a>(display == EGL_NO_DISPLAY, <span class="stringliteral">"Failed to get display: 0x%x."</span>, <a class="code" href="_open_g_l_e_s_8cpp.xhtml#a161b2c24e091cfa13e2eeb66e66ccf04">eglGetError</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>  res = <a class="code" href="_open_g_l_e_s_8cpp.xhtml#a071bc3efa12248af6089950f482689b9">eglInitialize</a>(display, <span class="keyword">nullptr</span>, <span class="keyword">nullptr</span>);</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>  <a class="code" href="_error_8h.xhtml#acaa348bf0c7eb9493c72092b7293d45f">ARM_COMPUTE_ERROR_ON_MSG_VAR</a>(res == EGL_FALSE, <span class="stringliteral">"Failed to initialize egl: 0x%x."</span>, <a class="code" href="_open_g_l_e_s_8cpp.xhtml#a161b2c24e091cfa13e2eeb66e66ccf04">eglGetError</a>());</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <a class="code" href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(res);</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="keyword">const</span> <span class="keywordtype">char</span> *egl_extension_st = <a class="code" href="_open_g_l_e_s_8cpp.xhtml#a4d1a4543cb39945be511a48c6b12efb8">eglQueryString</a>(display, EGL_EXTENSIONS);</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <a class="code" href="_error_8h.xhtml#a0b0eb3235749a2909dc5a101afe59a1b">ARM_COMPUTE_ERROR_ON_MSG</a>((strstr(egl_extension_st, <span class="stringliteral">"EGL_KHR_create_context"</span>) == <span class="keyword">nullptr</span>), <span class="stringliteral">"Failed to query EGL_KHR_create_context"</span>);</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <a class="code" href="_error_8h.xhtml#a0b0eb3235749a2909dc5a101afe59a1b">ARM_COMPUTE_ERROR_ON_MSG</a>((strstr(egl_extension_st, <span class="stringliteral">"EGL_KHR_surfaceless_context"</span>) == <span class="keyword">nullptr</span>), <span class="stringliteral">"Failed to query EGL_KHR_surfaceless_context"</span>);</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <a class="code" href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(egl_extension_st);</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="keyword">const</span> std::array<EGLint, 3> config_attribs =</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>  EGL_RENDERABLE_TYPE, EGL_OPENGL_ES3_BIT_KHR,</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  EGL_NONE</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>  EGLConfig cfg;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  EGLint count;</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>  res = <a class="code" href="_open_g_l_e_s_8cpp.xhtml#a89a92c28d6d90e4c0fd1de37f9680a79">eglChooseConfig</a>(display, config_attribs.data(), &cfg, 1, &count);</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#acaa348bf0c7eb9493c72092b7293d45f">ARM_COMPUTE_ERROR_ON_MSG_VAR</a>(res == EGL_FALSE, <span class="stringliteral">"Failed to choose config: 0x%x."</span>, <a class="code" href="_open_g_l_e_s_8cpp.xhtml#a161b2c24e091cfa13e2eeb66e66ccf04">eglGetError</a>());</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <a class="code" href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(res);</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>  res = <a class="code" href="_open_g_l_e_s_8cpp.xhtml#a0f290b0be95432b64e73ead723a947b7">eglBindAPI</a>(EGL_OPENGL_ES_API);</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#acaa348bf0c7eb9493c72092b7293d45f">ARM_COMPUTE_ERROR_ON_MSG_VAR</a>(res == EGL_FALSE, <span class="stringliteral">"Failed to bind api: 0x%x."</span>, <a class="code" href="_open_g_l_e_s_8cpp.xhtml#a161b2c24e091cfa13e2eeb66e66ccf04">eglGetError</a>());</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="keyword">const</span> std::array<EGLint, 3> attribs =</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>  EGL_CONTEXT_CLIENT_VERSION, 3,</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  EGL_NONE</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>  EGLContext context = <a class="code" href="_open_g_l_e_s_8cpp.xhtml#a82878b3783ce2a10736c91f7d153d009">eglCreateContext</a>(display,</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  cfg,</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  EGL_NO_CONTEXT,</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  attribs.data());</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#acaa348bf0c7eb9493c72092b7293d45f">ARM_COMPUTE_ERROR_ON_MSG_VAR</a>(context == EGL_NO_CONTEXT, <span class="stringliteral">"Failed to create context: 0x%x."</span>, <a class="code" href="_open_g_l_e_s_8cpp.xhtml#a161b2c24e091cfa13e2eeb66e66ccf04">eglGetError</a>());</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <a class="code" href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(res);</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>  res = <a class="code" href="_open_g_l_e_s_8cpp.xhtml#af6db9d046fe0e996c3693373864e6254">eglMakeCurrent</a>(display, EGL_NO_SURFACE, EGL_NO_SURFACE, context);</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>  <a class="code" href="_error_8h.xhtml#acaa348bf0c7eb9493c72092b7293d45f">ARM_COMPUTE_ERROR_ON_MSG_VAR</a>(res == EGL_FALSE, <span class="stringliteral">"Failed to make current: 0x%x."</span>, <a class="code" href="_open_g_l_e_s_8cpp.xhtml#a161b2c24e091cfa13e2eeb66e66ccf04">eglGetError</a>());</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <a class="code" href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(res);</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::make_tuple(display, context, res);</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span> }</div><div class="ttc" id="_open_g_l_e_s_8cpp_xhtml_af6db9d046fe0e996c3693373864e6254"><div class="ttname"><a href="_open_g_l_e_s_8cpp.xhtml#af6db9d046fe0e996c3693373864e6254">eglMakeCurrent</a></div><div class="ttdeci">EGLBoolean EGLAPIENTRY eglMakeCurrent(EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx)</div><div class="ttdef"><b>Definition:</b> <a href="_open_g_l_e_s_8cpp_source.xhtml#l00256">OpenGLES.cpp:256</a></div></div>
+<div class="ttc" id="_open_g_l_e_s_8cpp_xhtml_a89a92c28d6d90e4c0fd1de37f9680a79"><div class="ttname"><a href="_open_g_l_e_s_8cpp.xhtml#a89a92c28d6d90e4c0fd1de37f9680a79">eglChooseConfig</a></div><div class="ttdeci">EGLBoolean EGLAPIENTRY eglChooseConfig(EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config)</div><div class="ttdef"><b>Definition:</b> <a href="_open_g_l_e_s_8cpp_source.xhtml#l00191">OpenGLES.cpp:191</a></div></div>
+<div class="ttc" id="_open_g_l_e_s_8cpp_xhtml_a82878b3783ce2a10736c91f7d153d009"><div class="ttname"><a href="_open_g_l_e_s_8cpp.xhtml#a82878b3783ce2a10736c91f7d153d009">eglCreateContext</a></div><div class="ttdeci">EGLContext EGLAPIENTRY eglCreateContext(EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list)</div><div class="ttdef"><b>Definition:</b> <a href="_open_g_l_e_s_8cpp_source.xhtml#l00204">OpenGLES.cpp:204</a></div></div>
+<div class="ttc" id="_open_g_l_e_s_8cpp_xhtml_a161b2c24e091cfa13e2eeb66e66ccf04"><div class="ttname"><a href="_open_g_l_e_s_8cpp.xhtml#a161b2c24e091cfa13e2eeb66e66ccf04">eglGetError</a></div><div class="ttdeci">EGLint EGLAPIENTRY eglGetError()</div><div class="ttdef"><b>Definition:</b> <a href="_open_g_l_e_s_8cpp_source.xhtml#l00282">OpenGLES.cpp:282</a></div></div>
+<div class="ttc" id="_open_g_l_e_s_8cpp_xhtml_a0f290b0be95432b64e73ead723a947b7"><div class="ttname"><a href="_open_g_l_e_s_8cpp.xhtml#a0f290b0be95432b64e73ead723a947b7">eglBindAPI</a></div><div class="ttdeci">EGLBoolean EGLAPIENTRY eglBindAPI(EGLenum api)</div><div class="ttdef"><b>Definition:</b> <a href="_open_g_l_e_s_8cpp_source.xhtml#l00178">OpenGLES.cpp:178</a></div></div>
+<div class="ttc" id="_open_g_l_e_s_8cpp_xhtml_a4d1a4543cb39945be511a48c6b12efb8"><div class="ttname"><a href="_open_g_l_e_s_8cpp.xhtml#a4d1a4543cb39945be511a48c6b12efb8">eglQueryString</a></div><div class="ttdeci">char const *EGLAPIENTRY eglQueryString(EGLDisplay dpy, EGLint name)</div><div class="ttdef"><b>Definition:</b> <a href="_open_g_l_e_s_8cpp_source.xhtml#l00295">OpenGLES.cpp:295</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_acaa348bf0c7eb9493c72092b7293d45f"><div class="ttname"><a href="_error_8h.xhtml#acaa348bf0c7eb9493c72092b7293d45f">ARM_COMPUTE_ERROR_ON_MSG_VAR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_MSG_VAR(cond, msg,...)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00457">Error.h:457</a></div></div>
+<div class="ttc" id="_open_g_l_e_s_8cpp_xhtml_a071bc3efa12248af6089950f482689b9"><div class="ttname"><a href="_open_g_l_e_s_8cpp.xhtml#a071bc3efa12248af6089950f482689b9">eglInitialize</a></div><div class="ttdeci">EGLBoolean EGLAPIENTRY eglInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor)</div><div class="ttdef"><b>Definition:</b> <a href="_open_g_l_e_s_8cpp_source.xhtml#l00243">OpenGLES.cpp:243</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#l00152">Error.h:152</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a0b0eb3235749a2909dc5a101afe59a1b"><div class="ttname"><a href="_error_8h.xhtml#a0b0eb3235749a2909dc5a101afe59a1b">ARM_COMPUTE_ERROR_ON_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_MSG(cond, msg)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00456">Error.h:456</a></div></div>
+<div class="ttc" id="_open_g_l_e_s_8cpp_xhtml_a2ffc3e7fe8b002896756a3508800d3fa"><div class="ttname"><a href="_open_g_l_e_s_8cpp.xhtml#a2ffc3e7fe8b002896756a3508800d3fa">eglGetDisplay</a></div><div class="ttdeci">EGLDisplay EGLAPIENTRY eglGetDisplay(EGLNativeDisplayType display_id)</div><div class="ttdef"><b>Definition:</b> <a href="_open_g_l_e_s_8cpp_source.xhtml#l00230">OpenGLES.cpp:230</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00456">ARM_COMPUTE_ERROR_ON_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00457">ARM_COMPUTE_ERROR_ON_MSG_VAR</a>, <a class="el" href="_error_8h_source.xhtml#l00152">ARM_COMPUTE_UNUSED</a>, <a class="el" href="_open_g_l_e_s_8cpp_source.xhtml#l00178">eglBindAPI()</a>, <a class="el" href="_open_g_l_e_s_8cpp_source.xhtml#l00191">eglChooseConfig()</a>, <a class="el" href="_open_g_l_e_s_8cpp_source.xhtml#l00204">eglCreateContext()</a>, <a class="el" href="_open_g_l_e_s_8cpp_source.xhtml#l00230">eglGetDisplay()</a>, <a class="el" href="_open_g_l_e_s_8cpp_source.xhtml#l00282">eglGetError()</a>, <a class="el" href="_open_g_l_e_s_8cpp_source.xhtml#l00243">eglInitialize()</a>, <a class="el" href="_open_g_l_e_s_8cpp_source.xhtml#l00256">eglMakeCurrent()</a>, and <a class="el" href="_open_g_l_e_s_8cpp_source.xhtml#l00295">eglQueryString()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_g_c_runtime_context_8cpp_source.xhtml#l00032">GCRuntimeContext::GCRuntimeContext()</a>.</p>
+
+</div>
+</div>
+<a id="a873b3ac80ed02444a7197210598d09e3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a873b3ac80ed02444a7197210598d09e3">◆ </a></span>create_opengl_kernel()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classarm__compute_1_1_g_c_kernel.xhtml">GCKernel</a> create_opengl_kernel </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarm__compute_1_1_g_c_core_runtime_context.xhtml">GCCoreRuntimeContext</a> * </td>
+ <td class="paramname"><em>ctx</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const std::string & </td>
+ <td class="paramname"><em>kernel_name</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const std::set< std::string > & </td>
+ <td class="paramname"><em>build_opts</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Creates an GLES kernel. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>A context to be used to create the GLES kernel. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">kernel_name</td><td>The kernel name. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">build_opts</td><td>The build options to be used for the GLES kernel compilation.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A GLES kernel </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="core_2_g_l_e_s___c_o_m_p_u_t_e_2_g_c_helpers_8cpp_source.xhtml#l00037">37</a> of file <a class="el" href="core_2_g_l_e_s___c_o_m_p_u_t_e_2_g_c_helpers_8cpp_source.xhtml">GCHelpers.cpp</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>  <span class="keywordflow">if</span>(ctx && ctx->kernel_library())</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="comment">// New api going through the core context</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <span class="keywordflow">return</span> ctx->kernel_library()->create_kernel(kernel_name, build_opts);</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  }</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keywordflow">else</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="comment">// Legacy code through the singleton</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keywordflow">return</span> GCKernelLibrary::get().create_kernel(kernel_name, build_opts);</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><!-- fragment -->
+<p class="reference">References <a class="el" href="_g_c_kernel_library_8cpp_source.xhtml#l00367">GCKernelLibrary::create_kernel()</a>, <a class="el" href="_g_c_kernel_library_8cpp_source.xhtml#l00334">GCKernelLibrary::get()</a>, and <a class="el" href="_g_c_core_runtime_context_8cpp_source.xhtml#l00038">GCCoreRuntimeContext::kernel_library()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_g_c_activation_layer_kernel_8cpp_source.xhtml#l00047">GCActivationLayerKernel::configure()</a>.</p>
</div>
</div>
@@ -11707,9 +12192,9 @@
<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#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 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#l00203">Utility.h:203</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>
+<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#l00203">arm_compute::utility::tolower()</a>.</p>
</div>
</div>
@@ -11747,12 +12232,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#l00109">109</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="l00110"></a><span class="lineno"> 110</span> {</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a5f5b6c4337eac9e2e0046ca2304d80dc">data_type</a>)</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>  <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="keywordflow">case</span> DataType::QSYMM8:</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keywordflow">case</span> DataType::QSYMM8_PER_CHANNEL:</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keywordflow">case</span> DataType::QSYMM16:</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="keywordflow">case</span> DataType::F64:</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keywordflow">return</span> 8;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keywordflow">case</span> DataType::SIZET:</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="keywordflow">return</span> <span class="keyword">sizeof</span>(size_t);</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</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="l00136"></a><span class="lineno"> 136</span>  <span class="keywordflow">return</span> 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> }</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="l00110"></a><span class="lineno"> 110</span> {</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a5f5b6c4337eac9e2e0046ca2304d80dc">data_type</a>)</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>  <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="keywordflow">case</span> DataType::QSYMM8:</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keywordflow">case</span> DataType::QASYMM8_SIGNED:</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keywordflow">case</span> DataType::QSYMM8_PER_CHANNEL:</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">case</span> DataType::QSYMM16:</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordflow">case</span> DataType::QASYMM16:</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="keywordflow">case</span> DataType::F64:</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="keywordflow">return</span> 8;</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <span class="keywordflow">case</span> DataType::SIZET:</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keywordflow">return</span> <span class="keyword">sizeof</span>(size_t);</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Invalid data type"</span>);</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keywordflow">return</span> 0;</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="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a5f5b6c4337eac9e2e0046ca2304d80dc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a5f5b6c4337eac9e2e0046ca2304d80dc">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_addition_8cpp_source.xhtml#l00135">ArithmeticAddition.cpp:135</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="_c_l_2_arithmetic_addition_8cpp_source.xhtml#l00135">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#ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6">QSYMM16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c">QSYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a34f500e941c4df30b870126ec868ebd5">QSYMM8_PER_CHANNEL</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">References <a class="el" href="_error_8h_source.xhtml#l00352">ARM_COMPUTE_ERROR</a>, <a class="el" href="_c_l_2_arithmetic_addition_8cpp_source.xhtml#l00135">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#ad8ed01ff3ff33333d8e19db4d2818bb6a3b989c6b5398b3b9538ad103a324205e">QASYMM16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a329f5d0c4b0c80e3474951d2c4435dd9">QASYMM8_SIGNED</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6">QSYMM16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c">QSYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a34f500e941c4df30b870126ec868ebd5">QSYMM8_PER_CHANNEL</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#l01236">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>
+<p class="reference">Referenced by <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#l00074">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#l01236">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#l00249">TensorInfo::element_size()</a>, <a class="el" href="_n_e_h_o_g_detector_kernel_8cpp_source.xhtml#l00095">NEHOGDetectorKernel::run()</a>, and <a class="el" href="_i_lut_allocator_8cpp_source.xhtml#l00055">ILutAllocator::size()</a>.</p>
</div>
</div>
@@ -11807,8 +12292,8 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The return type is a pair. The first element of the pair is the biggest data type needed for the first stage. The second element of the pair is the biggest data type needed for the second stage. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00716">716</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="l00717"></a><span class="lineno"> 717</span> {</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> first_stage = DataType::UNKNOWN;</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> second_stage = DataType::UNKNOWN;</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> gez = [](<span class="keyword">const</span> int16_t &v)</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> v >= 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">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="l00727"></a><span class="lineno"> 727</span>  {</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>  <span class="keywordflow">return</span> first + (second < 0 ? second : 0);</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> </div><div class="line"><a name="l00731"></a><span class="lineno"> 731</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="l00732"></a><span class="lineno"> 732</span>  {</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>  <span class="keywordflow">return</span> first + (second > 0 ? second : 0);</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> </div><div class="line"><a name="l00736"></a><span class="lineno"> 736</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="l00737"></a><span class="lineno"> 737</span> </div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>  <span class="keywordflow">if</span>(only_positive_coefficients)</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="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="l00741"></a><span class="lineno"> 741</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="l00742"></a><span class="lineno"> 742</span> </div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>  first_stage = (max_row_value <= UINT16_MAX) ? DataType::U16 : DataType::S32;</div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span> </div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span>  second_stage = (max_value <= UINT16_MAX) ? DataType::U16 : DataType::S32;</div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span>  }</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>  {</div><div class="line"><a name="l00749"></a><span class="lineno"> 749</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="l00750"></a><span class="lineno"> 750</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="l00751"></a><span class="lineno"> 751</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="l00752"></a><span class="lineno"> 752</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="l00753"></a><span class="lineno"> 753</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="l00754"></a><span class="lineno"> 754</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="l00755"></a><span class="lineno"> 755</span> </div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>  first_stage = ((INT16_MIN <= min_row_value) && (max_row_value <= INT16_MAX)) ? DataType::S16 : DataType::S32;</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span> </div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span>  second_stage = ((INT16_MIN <= min_value) && (max_value <= INT16_MAX)) ? DataType::S16 : DataType::S32;</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>  }</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span> </div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span>  <span class="keywordflow">return</span> std::make_pair(first_stage, second_stage);</div><div class="line"><a name="l00762"></a><span class="lineno"> 762</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>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00722">722</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="l00723"></a><span class="lineno"> 723</span> {</div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> first_stage = DataType::UNKNOWN;</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> second_stage = DataType::UNKNOWN;</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span> </div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>  <span class="keyword">auto</span> gez = [](<span class="keyword">const</span> int16_t &v)</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>  {</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>  <span class="keywordflow">return</span> v >= 0;</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>  };</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span> </div><div class="line"><a name="l00732"></a><span class="lineno"> 732</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="l00733"></a><span class="lineno"> 733</span>  {</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  <span class="keywordflow">return</span> first + (second < 0 ? second : 0);</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> </div><div class="line"><a name="l00737"></a><span class="lineno"> 737</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="l00738"></a><span class="lineno"> 738</span>  {</div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>  <span class="keywordflow">return</span> first + (second > 0 ? second : 0);</div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>  };</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span> </div><div class="line"><a name="l00742"></a><span class="lineno"> 742</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="l00743"></a><span class="lineno"> 743</span> </div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>  <span class="keywordflow">if</span>(only_positive_coefficients)</div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span>  {</div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span>  <span class="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="l00747"></a><span class="lineno"> 747</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="l00748"></a><span class="lineno"> 748</span> </div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>  first_stage = (max_row_value <= UINT16_MAX) ? DataType::U16 : DataType::S32;</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>  second_stage = (max_value <= UINT16_MAX) ? DataType::U16 : DataType::S32;</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span>  }</div><div class="line"><a name="l00753"></a><span class="lineno"> 753</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>  {</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>  <span class="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="l00756"></a><span class="lineno"> 756</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="l00757"></a><span class="lineno"> 757</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="l00758"></a><span class="lineno"> 758</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="l00759"></a><span class="lineno"> 759</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="l00760"></a><span class="lineno"> 760</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="l00761"></a><span class="lineno"> 761</span> </div><div class="line"><a name="l00762"></a><span class="lineno"> 762</span>  first_stage = ((INT16_MIN <= min_row_value) && (max_row_value <= INT16_MAX)) ? DataType::S16 : DataType::S32;</div><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>  second_stage = ((INT16_MIN <= min_value) && (max_value <= INT16_MAX)) ? DataType::S16 : DataType::S32;</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> </div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>  <span class="keywordflow">return</span> std::make_pair(first_stage, second_stage);</div><div class="line"><a name="l00768"></a><span class="lineno"> 768</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>
@@ -11861,14 +12346,14 @@
</dl>
<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#l00772">772</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="l00773"></a><span class="lineno"> 773</span> {</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  <span class="keyword">auto</span> gez = [](<span class="keyword">const</span> int16_t v)</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> v >= 0;</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> </div><div class="line"><a name="l00779"></a><span class="lineno"> 779</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#a006546051719c5fb4b20c966a26b9c76">conv</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a006546051719c5fb4b20c966a26b9c76">conv</a> + size, gez);</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span> </div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>  <span class="keywordflow">if</span>(only_positive_coefficients)</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="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#a006546051719c5fb4b20c966a26b9c76">conv</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a006546051719c5fb4b20c966a26b9c76">conv</a> + size, 0) * UINT8_MAX;</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>  <span class="keywordflow">if</span>(max_conv_value <= UINT16_MAX)</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>  {</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>  <span class="keywordflow">return</span> DataType::U16;</div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>  }</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>  {</div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>  <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</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>  <span class="keywordflow">else</span></div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>  {</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>  <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#a006546051719c5fb4b20c966a26b9c76">conv</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a006546051719c5fb4b20c966a26b9c76">conv</a> + size, 0, [](<span class="keywordtype">int</span> a, <span class="keywordtype">int</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aa76b4a6e74940dabc5b7fc6b2dab3545">b</a>)</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">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aa76b4a6e74940dabc5b7fc6b2dab3545">b</a> < 0 ? a + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aa76b4a6e74940dabc5b7fc6b2dab3545">b</a> : a;</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>  * UINT8_MAX;</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="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#a006546051719c5fb4b20c966a26b9c76">conv</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a006546051719c5fb4b20c966a26b9c76">conv</a> + size, 0, [](<span class="keywordtype">int</span> a, <span class="keywordtype">int</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aa76b4a6e74940dabc5b7fc6b2dab3545">b</a>)</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> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aa76b4a6e74940dabc5b7fc6b2dab3545">b</a> > 0 ? a + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aa76b4a6e74940dabc5b7fc6b2dab3545">b</a> : a;</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>  * UINT8_MAX;</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">if</span>((INT16_MIN <= min_value) && (INT16_MAX >= max_value))</div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>  {</div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>  <span class="keywordflow">return</span> DataType::S16;</div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>  }</div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span>  {</div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>  <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>  }</div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>  }</div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aa76b4a6e74940dabc5b7fc6b2dab3545"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aa76b4a6e74940dabc5b7fc6b2dab3545">arm_compute::test::validation::b</a></div><div class="ttdeci">SimpleTensor< float > b</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_2_d_f_t_8cpp_source.xhtml#l00157">DFT.cpp:157</a></div></div>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00778">778</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="l00779"></a><span class="lineno"> 779</span> {</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>  <span class="keyword">auto</span> gez = [](<span class="keyword">const</span> int16_t v)</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>  <span class="keywordflow">return</span> v >= 0;</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> </div><div class="line"><a name="l00785"></a><span class="lineno"> 785</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#a006546051719c5fb4b20c966a26b9c76">conv</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a006546051719c5fb4b20c966a26b9c76">conv</a> + size, gez);</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">if</span>(only_positive_coefficients)</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>  <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#a006546051719c5fb4b20c966a26b9c76">conv</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a006546051719c5fb4b20c966a26b9c76">conv</a> + size, 0) * UINT8_MAX;</div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>  <span class="keywordflow">if</span>(max_conv_value <= UINT16_MAX)</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  {</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  <span class="keywordflow">return</span> DataType::U16;</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>  }</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>  {</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>  <span class="keywordflow">return</span> DataType::S32;</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>  }</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>  <span class="keywordflow">else</span></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="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#a006546051719c5fb4b20c966a26b9c76">conv</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a006546051719c5fb4b20c966a26b9c76">conv</a> + size, 0, [](<span class="keywordtype">int</span> a, <span class="keywordtype">int</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aa76b4a6e74940dabc5b7fc6b2dab3545">b</a>)</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> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aa76b4a6e74940dabc5b7fc6b2dab3545">b</a> < 0 ? a + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aa76b4a6e74940dabc5b7fc6b2dab3545">b</a> : a;</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>  * UINT8_MAX;</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="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#a006546051719c5fb4b20c966a26b9c76">conv</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a006546051719c5fb4b20c966a26b9c76">conv</a> + size, 0, [](<span class="keywordtype">int</span> a, <span class="keywordtype">int</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aa76b4a6e74940dabc5b7fc6b2dab3545">b</a>)</div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>  {</div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aa76b4a6e74940dabc5b7fc6b2dab3545">b</a> > 0 ? a + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aa76b4a6e74940dabc5b7fc6b2dab3545">b</a> : a;</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>  * UINT8_MAX;</div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span> </div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>  <span class="keywordflow">if</span>((INT16_MIN <= min_value) && (INT16_MAX >= max_value))</div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>  {</div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>  <span class="keywordflow">return</span> DataType::S16;</div><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="keywordflow">else</span></div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>  {</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span>  <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>  }</div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>  }</div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aa76b4a6e74940dabc5b7fc6b2dab3545"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aa76b4a6e74940dabc5b7fc6b2dab3545">arm_compute::test::validation::b</a></div><div class="ttdeci">SimpleTensor< float > b</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_2_d_f_t_8cpp_source.xhtml#l00157">DFT.cpp:157</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a006546051719c5fb4b20c966a26b9c76"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a006546051719c5fb4b20c966a26b9c76">arm_compute::test::validation::conv</a></div><div class="ttdeci">std::array< int16_t, 25 > conv</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="_c_p_p_2_d_f_t_8cpp_source.xhtml#l00157">arm_compute::test::validation::b</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#l00060">CLConvolutionKernel< matrix_size >::configure()</a>, and <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00281">CLConvolutionRectangleKernel::configure()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00281">CLConvolutionRectangleKernel::configure()</a>.</p>
</div>
</div>
@@ -11905,23 +12390,23 @@
</dl>
<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#l00215">215</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="l00216"></a><span class="lineno"> 216</span> {</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="keywordflow">switch</span>(format)</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="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <span class="keywordflow">return</span> DataType::U8;</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="keywordflow">return</span> DataType::U16;</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="keywordflow">return</span> DataType::S16;</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <span class="keywordflow">return</span> DataType::U32;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <span class="keywordflow">return</span> DataType::F16;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="keywordflow">return</span> DataType::F32;</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="comment">//Doesn't make sense for planar formats:</span></div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</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="l00245"></a><span class="lineno"> 245</span>  <span class="keywordflow">return</span> DataType::UNKNOWN;</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="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="arm__compute_2core_2_utils_8h_source.xhtml#l00219">219</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="l00220"></a><span class="lineno"> 220</span> {</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  {</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="keywordflow">return</span> DataType::U8;</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <span class="keywordflow">return</span> DataType::U16;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="keywordflow">return</span> DataType::S16;</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <span class="keywordflow">return</span> DataType::U32;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  <span class="keywordflow">return</span> DataType::F16;</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <span class="keywordflow">return</span> DataType::F32;</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <span class="comment">//Doesn't make sense for planar formats:</span></div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Not supported data_type for given format"</span>);</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <span class="keywordflow">return</span> DataType::UNKNOWN;</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="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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">References <a class="el" href="_error_8h_source.xhtml#l00352">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>
+<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#l00112">TensorInfo::init()</a>, <a class="el" href="src_2core_2_tensor_info_8cpp_source.xhtml#l00181">TensorInfo::init_auto_padding()</a>, and <a class="el" href="src_2core_2_tensor_info_8cpp_source.xhtml#l00333">TensorInfo::set_format()</a>.</p>
</div>
</div>
-<a id="a307a55b07dc70dc9177ff26543b1c66f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a307a55b07dc70dc9177ff26543b1c66f">◆ </a></span>data_type_from_name()</h2>
+<a id="a64e6501d564e950c3d527fb6b1f36f28"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a64e6501d564e950c3d527fb6b1f36f28">◆ </a></span>data_type_from_name()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a> data_type_from_name </td>
+ <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> data_type_from_name </td>
<td>(</td>
<td class="paramtype">const std::string & </td>
<td class="paramname"><em>name</em></td><td>)</td>
@@ -11941,14 +12426,14 @@
<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>
<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 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#l00203">Utility.h:203</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>
+<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#l00203">arm_compute::utility::tolower()</a>.</p>
</div>
</div>
-<a id="a9491bea9e3fcf8ac4a7cf79be64cc765"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9491bea9e3fcf8ac4a7cf79be64cc765">◆ </a></span>deconvolution_output_dimensions()</h2>
+<a id="a1a0b7ff66a946db6252d2a4c40c04fa7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1a0b7ff66a946db6252d2a4c40c04fa7">◆ </a></span>deconvolution_output_dimensions()</h2>
<div class="memitem">
<div class="memproto">
@@ -11980,26 +12465,8 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">unsigned int </td>
- <td class="paramname"><em>padx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">unsigned int </td>
- <td class="paramname"><em>pady</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">unsigned int </td>
- <td class="paramname"><em>stride_x</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">unsigned int </td>
- <td class="paramname"><em>stride_y</em> </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> & </td>
+ <td class="paramname"><em>pad_stride_info</em> </td>
</tr>
<tr>
<td></td>
@@ -12016,22 +12483,24 @@
<tr><td class="paramdir">[in]</td><td class="paramname">in_height</td><td>Height of input tensor (Number of rows) </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">kernel_width</td><td><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class.">Kernel</a> width. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">kernel_height</td><td><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class.">Kernel</a> height. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">padx</td><td>X axis padding. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">pady</td><td>Y axis padding. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">stride_x</td><td>X axis input stride. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">stride_y</td><td>Y axis input stride.</td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">pad_stride_info</td><td>Pad and stride information.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pair with the new width in the first position and the new height in the second. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00374">374</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="l00377"></a><span class="lineno"> 377</span> {</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</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="l00379"></a><span class="lineno"> 379</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="l00380"></a><span class="lineno"> 380</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="l00381"></a><span class="lineno"> 381</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a1a367830ae09bf6138df822888ec1d71">w</a> = stride_x * (in_width - 1) + kernel_width - 2 * padx;</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</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="l00383"></a><span class="lineno"> 383</span> </div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  <span class="keywordflow">return</span> std::make_pair<unsigned int, unsigned int>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a1a367830ae09bf6138df822888ec1d71">w</a>, h);</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a1a367830ae09bf6138df822888ec1d71"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a1a367830ae09bf6138df822888ec1d71">arm_compute::test::validation::w</a></div><div class="ttdeci">SimpleTensor< float > w</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_2_d_f_t_8cpp_source.xhtml#l00156">DFT.cpp:156</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>
+<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00382">382</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="l00385"></a><span class="lineno"> 385</span> {</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</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="l00387"></a><span class="lineno"> 387</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="l00388"></a><span class="lineno"> 388</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="l00389"></a><span class="lineno"> 389</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="l00390"></a><span class="lineno"> 390</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="l00391"></a><span class="lineno"> 391</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="l00392"></a><span class="lineno"> 392</span> </div><div class="line"><a name="l00393"></a><span class="lineno"> 393</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="l00394"></a><span class="lineno"> 394</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(((in_width - 1) * stride_x + kernel_width) < (pad_left + pad_right));</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>(((in_height - 1) * stride_y + kernel_height) < (pad_top + pad_bottom));</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a1a367830ae09bf6138df822888ec1d71">w</a> = stride_x * (in_width - 1) + kernel_width - (pad_left + pad_right);</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> h = stride_y * (in_height - 1) + kernel_height - (pad_top + pad_bottom);</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>  <span class="keywordflow">return</span> std::make_pair<unsigned int, unsigned int>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a1a367830ae09bf6138df822888ec1d71">w</a>, h);</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a1a367830ae09bf6138df822888ec1d71"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a1a367830ae09bf6138df822888ec1d71">arm_compute::test::validation::w</a></div><div class="ttdeci">SimpleTensor< float > w</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_2_d_f_t_8cpp_source.xhtml#l00156">DFT.cpp:156</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#l00466">Error.h:466</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_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>
</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_p_p_2_d_f_t_8cpp_source.xhtml#l00156">arm_compute::test::validation::w</a>.</p>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00466">ARM_COMPUTE_ERROR_ON</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#l00733">PadStrideInfo::stride()</a>, and <a class="el" href="_c_p_p_2_d_f_t_8cpp_source.xhtml#l00156">arm_compute::test::validation::w</a>.</p>
-<p class="reference">Referenced by <a class="el" href="_deconvolution_layer_node_8cpp_source.xhtml#l00047">DeconvolutionLayerNode::compute_output_descriptor()</a>, <a class="el" href="_c_l_direct_deconvolution_layer_8cpp_source.xhtml#l00107">CLDirectDeconvolutionLayer::configure()</a>, <a class="el" href="_n_e_deconvolution_layer_8cpp_source.xhtml#l00115">NEDeconvolutionLayer::configure()</a>, <a class="el" href="_n_e_o_n_2_deconvolution_layer_8cpp_source.xhtml#l00073">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_c_l_g_e_m_m_deconvolution_layer_8cpp_source.xhtml#l00093">CLGEMMDeconvolutionLayer::validate()</a>, <a class="el" href="_n_e_deconvolution_layer_8cpp_source.xhtml#l00057">NEDeconvolutionLayer::validate()</a>, and <a class="el" href="_c_l_direct_deconvolution_layer_8cpp_source.xhtml#l00052">CLDirectDeconvolutionLayer::validate()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="_deconvolution_layer_node_8cpp_source.xhtml#l00047">DeconvolutionLayerNode::compute_output_descriptor()</a>, <a class="el" href="_c_l_direct_deconvolution_layer_8cpp_source.xhtml#l00104">CLDirectDeconvolutionLayer::configure()</a>, <a class="el" href="_n_e_deconvolution_layer_8cpp_source.xhtml#l00112">NEDeconvolutionLayer::configure()</a>, <a class="el" href="_n_e_o_n_2_deconvolution_layer_8cpp_source.xhtml#l00076">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_c_l_g_e_m_m_deconvolution_layer_8cpp_source.xhtml#l00093">CLGEMMDeconvolutionLayer::validate()</a>, <a class="el" href="_n_e_deconvolution_layer_8cpp_source.xhtml#l00057">NEDeconvolutionLayer::validate()</a>, and <a class="el" href="_c_l_direct_deconvolution_layer_8cpp_source.xhtml#l00052">CLDirectDeconvolutionLayer::validate()</a>.</p>
</div>
</div>
@@ -12096,9 +12565,9 @@
<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 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#l00466">Error.h:466</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">References <a class="el" href="_error_8h_source.xhtml#l00466">ARM_COMPUTE_ERROR_ON</a>.</p>
<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>
@@ -12179,11 +12648,11 @@
<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 = <a class="code" href="namespacearm__compute.xhtml#a34725aa0412e6cc99193ceb6c8a8e439">dequantize_qasymm8</a>(*pixel_ptr, iq_info);</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> a01 = <a class="code" href="namespacearm__compute.xhtml#a34725aa0412e6cc99193ceb6c8a8e439">dequantize_qasymm8</a>(*(pixel_ptr + 1), iq_info);</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> a10 = <a class="code" href="namespacearm__compute.xhtml#a34725aa0412e6cc99193ceb6c8a8e439">dequantize_qasymm8</a>(*(pixel_ptr + stride), iq_info);</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> a11 = <a class="code" href="namespacearm__compute.xhtml#a34725aa0412e6cc99193ceb6c8a8e439">dequantize_qasymm8</a>(*(pixel_ptr + stride + 1), iq_info);</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>(<a class="code" href="namespacearm__compute.xhtml#a25591070cf041aff512719050c39e5ee">quantize_qasymm8</a>(res, oq_info));</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a34725aa0412e6cc99193ceb6c8a8e439"><div class="ttname"><a href="namespacearm__compute.xhtml#a34725aa0412e6cc99193ceb6c8a8e439">arm_compute::dequantize_qasymm8</a></div><div class="ttdeci">float dequantize_qasymm8(uint8_t value, const UniformQuantizationInfo &qinfo)</div><div class="ttdoc">Dequantize a value given a asymmetric quantization scheme.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00248">QuantizationInfo.h:248</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_a25591070cf041aff512719050c39e5ee"><div class="ttname"><a href="namespacearm__compute.xhtml#a25591070cf041aff512719050c39e5ee">arm_compute::quantize_qasymm8</a></div><div class="ttdeci">uint8_t quantize_qasymm8(float value, const UniformQuantizationInfo &qinfo, RoundingPolicy rounding_policy=RoundingPolicy::TO_NEAREST_UP)</div><div class="ttdoc">Quantize a value given a asymmetric quantization scheme.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00204">QuantizationInfo.h:204</a></div></div>
+<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 = <a class="code" href="helpers__asymm_8h.xhtml#afbec2094d42590b94e7eead93710411d">dequantize_qasymm8</a>(*pixel_ptr, iq_info);</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> a01 = <a class="code" href="helpers__asymm_8h.xhtml#afbec2094d42590b94e7eead93710411d">dequantize_qasymm8</a>(*(pixel_ptr + 1), iq_info);</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> a10 = <a class="code" href="helpers__asymm_8h.xhtml#afbec2094d42590b94e7eead93710411d">dequantize_qasymm8</a>(*(pixel_ptr + stride), iq_info);</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> a11 = <a class="code" href="helpers__asymm_8h.xhtml#afbec2094d42590b94e7eead93710411d">dequantize_qasymm8</a>(*(pixel_ptr + stride + 1), iq_info);</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>(<a class="code" href="helpers__asymm_8h.xhtml#a63aa8eb6ac2ac3782ffad43a96345f0a">quantize_qasymm8</a>(res, oq_info));</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#l00466">Error.h:466</a></div></div>
+<div class="ttc" id="helpers__asymm_8h_xhtml_afbec2094d42590b94e7eead93710411d"><div class="ttname"><a href="helpers__asymm_8h.xhtml#afbec2094d42590b94e7eead93710411d">dequantize_qasymm8</a></div><div class="ttdeci">float dequantize_qasymm8(uchar input, float offset, float scale)</div><div class="ttdoc">Dequantize a scalar value from 8-bit asymmetric to floating-point.</div><div class="ttdef"><b>Definition:</b> <a href="helpers__asymm_8h_source.xhtml#l00062">helpers_asymm.h:62</a></div></div>
+<div class="ttc" id="helpers__asymm_8h_xhtml_a63aa8eb6ac2ac3782ffad43a96345f0a"><div class="ttname"><a href="helpers__asymm_8h.xhtml#a63aa8eb6ac2ac3782ffad43a96345f0a">quantize_qasymm8</a></div><div class="ttdeci">uchar quantize_qasymm8(float input, float offset, float scale)</div><div class="ttdoc">Quantize a floating-point scalar value to 8-bit asymmetric.</div><div class="ttdef"><b>Definition:</b> <a href="helpers__asymm_8h_source.xhtml#l00047">helpers_asymm.h:47</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="_quantization_info_8h_source.xhtml#l00248">dequantize_qasymm8()</a>, and <a class="el" href="_quantization_info_8h_source.xhtml#l00204">quantize_qasymm8()</a>.</p>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00466">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_quantization_info_8h_source.xhtml#l00275">dequantize_qasymm8()</a>, and <a class="el" href="_quantization_info_8h_source.xhtml#l00216">quantize_qasymm8()</a>.</p>
</div>
</div>
@@ -12234,9 +12703,9 @@
<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#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 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#l00466">Error.h:466</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">References <a class="el" href="_error_8h_source.xhtml#l00466">ARM_COMPUTE_ERROR_ON</a>.</p>
<p class="reference">Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00271">pixel_bilinear_c1_clamp()</a>.</p>
@@ -12296,16 +12765,16 @@
<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#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 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#l00466">Error.h:466</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">References <a class="el" href="_error_8h_source.xhtml#l00466">ARM_COMPUTE_ERROR_ON</a>.</p>
<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="ab8005b943e23486a2000a7966d664df2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab8005b943e23486a2000a7966d664df2">◆ </a></span>dequantize() <span class="overload">[1/3]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#ab8005b943e23486a2000a7966d664df2">◆ </a></span>dequantize() <span class="overload">[1/4]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -12344,7 +12813,7 @@
</table>
</div><div class="memdoc">
-<p>Dequantize a value given an asymmetric quantization scheme. </p>
+<p>Dequantize a value given an 8-bit asymmetric quantization scheme. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to dequantize </td></tr>
@@ -12355,14 +12824,14 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Dequantized value </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00274">274</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00275"></a><span class="lineno"> 275</span> {</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <span class="keywordflow">return</span> (static_cast<int>(value) - <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_1test_1_1validation.xhtml#acec6d8ad52a28972fa74e071c1a63b6a">scale</a>;</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</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#l00328">helpers.h:328</a></div></div>
+<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00301">301</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00302"></a><span class="lineno"> 302</span> {</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <span class="keywordflow">return</span> (static_cast<int>(value) - <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_1test_1_1validation.xhtml#acec6d8ad52a28972fa74e071c1a63b6a">scale</a>;</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</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#l00510">helpers.h:510</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#l00317">PixelWiseMultiplication.cpp:317</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="aa29442a61be1fbce3b22c28f403acef2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa29442a61be1fbce3b22c28f403acef2">◆ </a></span>dequantize() <span class="overload">[2/3]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#aa29442a61be1fbce3b22c28f403acef2">◆ </a></span>dequantize() <span class="overload">[2/4]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -12395,7 +12864,7 @@
</table>
</div><div class="memdoc">
-<p>Dequantize a value given a symmetric quantization scheme. </p>
+<p>Dequantize a value given a 8-bit symmetric quantization scheme. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to dequantize </td></tr>
@@ -12405,13 +12874,13 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Dequantized value </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00298">298</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</a>.</p>
-<div class="fragment"><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">return</span> value * <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acec6d8ad52a28972fa74e071c1a63b6a">scale</a>;</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span> }</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#l00317">PixelWiseMultiplication.cpp:317</a></div></div>
+<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00325">325</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00326"></a><span class="lineno"> 326</span> {</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <span class="keywordflow">return</span> value * <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acec6d8ad52a28972fa74e071c1a63b6a">scale</a>;</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span> }</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#l00317">PixelWiseMultiplication.cpp:317</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a22c3c5e2d63814320440a3ec9d73419c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a22c3c5e2d63814320440a3ec9d73419c">◆ </a></span>dequantize() <span class="overload">[3/3]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a22c3c5e2d63814320440a3ec9d73419c">◆ </a></span>dequantize() <span class="overload">[3/4]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -12444,7 +12913,7 @@
</table>
</div><div class="memdoc">
-<p>Dequantize a value given a symmetric quantization scheme. </p>
+<p>Dequantize a value given a 16-bit symmetric quantization scheme. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to dequantize </td></tr>
@@ -12454,8 +12923,169 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Dequantized value </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00310">310</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00311"></a><span class="lineno"> 311</span> {</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <span class="keywordflow">return</span> value * <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acec6d8ad52a28972fa74e071c1a63b6a">scale</a>;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span> }</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#l00317">PixelWiseMultiplication.cpp:317</a></div></div>
+<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00337">337</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</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>  <span class="keywordflow">return</span> value * <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acec6d8ad52a28972fa74e071c1a63b6a">scale</a>;</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span> }</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#l00317">PixelWiseMultiplication.cpp:317</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="acf7db09d2dff587cd58187ed58eeec68"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acf7db09d2dff587cd58187ed58eeec68">◆ </a></span>dequantize() <span class="overload">[4/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">float arm_compute::dequantize </td>
+ <td>(</td>
+ <td class="paramtype">uint16_t </td>
+ <td class="paramname"><em>value</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">float </td>
+ <td class="paramname"><em>scale</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int32_t </td>
+ <td class="paramname"><em>offset</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Dequantize a value given a 16-bit asymmetric quantization scheme. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to dequantize </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">scale</td><td>Scale to use for dequantization </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>Zero-offset to use for dequantization</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Dequantized value </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00350">350</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00351"></a><span class="lineno"> 351</span> {</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  <span class="keywordflow">return</span> (static_cast<int>(value) - <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_1test_1_1validation.xhtml#acec6d8ad52a28972fa74e071c1a63b6a">scale</a>;</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</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#l00510">helpers.h:510</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#l00317">PixelWiseMultiplication.cpp:317</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a85310967abb447a1cb1167ba8f73eab0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a85310967abb447a1cb1167ba8f73eab0">◆ </a></span>dequantize_qasymm16() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">float arm_compute::dequantize_qasymm16 </td>
+ <td>(</td>
+ <td class="paramtype">uint16_t </td>
+ <td class="paramname"><em>value</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="structarm__compute_1_1_uniform_quantization_info.xhtml">UniformQuantizationInfo</a> & </td>
+ <td class="paramname"><em>qinfo</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 value given a 16-bit asymmetric quantization scheme. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to dequantize </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">qinfo</td><td>Quantization information to use for dequantizing</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Dequantized value </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00428">428</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</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">return</span> (static_cast<int>(value) - <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>.<a class="code" href="classarm__compute_1_1_quantization_info.xhtml#a08ffa53eaabde3e18b003f8182ac09bf">offset</a>) * <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>.<a class="code" href="classarm__compute_1_1_quantization_info.xhtml#af21c7fddee28e9aa0a37c633300db0e0">scale</a>;</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span> }</div><div class="ttc" id="classarm__compute_1_1_quantization_info_xhtml_a08ffa53eaabde3e18b003f8182ac09bf"><div class="ttname"><a href="classarm__compute_1_1_quantization_info.xhtml#a08ffa53eaabde3e18b003f8182ac09bf">arm_compute::QuantizationInfo::offset</a></div><div class="ttdeci">const std::vector< int32_t > & offset() const</div><div class="ttdoc">Offset vector accessor.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00130">QuantizationInfo.h:130</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_quantization_info_xhtml_af21c7fddee28e9aa0a37c633300db0e0"><div class="ttname"><a href="classarm__compute_1_1_quantization_info.xhtml#af21c7fddee28e9aa0a37c633300db0e0">arm_compute::QuantizationInfo::scale</a></div><div class="ttdeci">const std::vector< float > & scale() const</div><div class="ttdoc">Scale vector accessor.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00122">QuantizationInfo.h:122</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad85d7becf0c6e3cffbc255489808e219"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">arm_compute::test::validation::qinfo</a></div><div class="ttdeci">const QuantizationInfo qinfo</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00150">Im2Col.cpp:150</a></div></div>
+</div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="tests_2validation_2_helpers_8cpp_source.xhtml#l00123">arm_compute::test::validation::convert_from_asymmetric()</a>.</p>
+
+</div>
+</div>
+<a id="a1b09fc16ab06a02188334c4b1f43e2ff"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1b09fc16ab06a02188334c4b1f43e2ff">◆ </a></span>dequantize_qasymm16() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">float arm_compute::dequantize_qasymm16 </td>
+ <td>(</td>
+ <td class="paramtype">uint16_t </td>
+ <td class="paramname"><em>value</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> & </td>
+ <td class="paramname"><em>qinfo</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 value given a 16-bit asymmetric quantization scheme. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to dequantize </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">qinfo</td><td>Quantization information to use for dequantizing</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Dequantized value </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00452">452</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00453"></a><span class="lineno"> 453</span> {</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a1b09fc16ab06a02188334c4b1f43e2ff">dequantize_qasymm16</a>(value, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>.<a class="code" href="classarm__compute_1_1_quantization_info.xhtml#a706fc156bcd4c45441bcaad05884b57d">uniform</a>());</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a1b09fc16ab06a02188334c4b1f43e2ff"><div class="ttname"><a href="namespacearm__compute.xhtml#a1b09fc16ab06a02188334c4b1f43e2ff">arm_compute::dequantize_qasymm16</a></div><div class="ttdeci">float dequantize_qasymm16(uint16_t value, const QuantizationInfo &qinfo)</div><div class="ttdoc">Dequantize a value given a 16-bit asymmetric quantization scheme.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00452">QuantizationInfo.h:452</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_quantization_info_xhtml_a706fc156bcd4c45441bcaad05884b57d"><div class="ttname"><a href="classarm__compute_1_1_quantization_info.xhtml#a706fc156bcd4c45441bcaad05884b57d">arm_compute::QuantizationInfo::uniform</a></div><div class="ttdeci">UniformQuantizationInfo uniform() const</div><div class="ttdoc">Return per layer quantization info.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00146">QuantizationInfo.h:146</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad85d7becf0c6e3cffbc255489808e219"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">arm_compute::test::validation::qinfo</a></div><div class="ttdeci">const QuantizationInfo qinfo</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00150">Im2Col.cpp:150</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -12493,7 +13123,7 @@
</table>
</div><div class="memdoc">
-<p>Dequantize a value given a asymmetric quantization scheme. </p>
+<p>Dequantize a value given a 8-bit asymmetric quantization scheme. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to dequantize </td></tr>
@@ -12503,12 +13133,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Dequantized value </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00248">248</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</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="keywordflow">return</span> (static_cast<int>(value) - <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>.<a class="code" href="classarm__compute_1_1_quantization_info.xhtml#a08ffa53eaabde3e18b003f8182ac09bf">offset</a>) * <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>.<a class="code" href="classarm__compute_1_1_quantization_info.xhtml#af21c7fddee28e9aa0a37c633300db0e0">scale</a>;</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span> }</div><div class="ttc" id="classarm__compute_1_1_quantization_info_xhtml_a08ffa53eaabde3e18b003f8182ac09bf"><div class="ttname"><a href="classarm__compute_1_1_quantization_info.xhtml#a08ffa53eaabde3e18b003f8182ac09bf">arm_compute::QuantizationInfo::offset</a></div><div class="ttdeci">const std::vector< int32_t > & offset() const</div><div class="ttdoc">Offset vector accessor.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00118">QuantizationInfo.h:118</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_quantization_info_xhtml_af21c7fddee28e9aa0a37c633300db0e0"><div class="ttname"><a href="classarm__compute_1_1_quantization_info.xhtml#af21c7fddee28e9aa0a37c633300db0e0">arm_compute::QuantizationInfo::scale</a></div><div class="ttdeci">const std::vector< float > & scale() const</div><div class="ttdoc">Scale vector accessor.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00110">QuantizationInfo.h:110</a></div></div>
+<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00275">275</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00276"></a><span class="lineno"> 276</span> {</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <span class="keywordflow">return</span> (static_cast<int>(value) - <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>.<a class="code" href="classarm__compute_1_1_quantization_info.xhtml#a08ffa53eaabde3e18b003f8182ac09bf">offset</a>) * <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>.<a class="code" href="classarm__compute_1_1_quantization_info.xhtml#af21c7fddee28e9aa0a37c633300db0e0">scale</a>;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span> }</div><div class="ttc" id="classarm__compute_1_1_quantization_info_xhtml_a08ffa53eaabde3e18b003f8182ac09bf"><div class="ttname"><a href="classarm__compute_1_1_quantization_info.xhtml#a08ffa53eaabde3e18b003f8182ac09bf">arm_compute::QuantizationInfo::offset</a></div><div class="ttdeci">const std::vector< int32_t > & offset() const</div><div class="ttdoc">Offset vector accessor.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00130">QuantizationInfo.h:130</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_quantization_info_xhtml_af21c7fddee28e9aa0a37c633300db0e0"><div class="ttname"><a href="classarm__compute_1_1_quantization_info.xhtml#af21c7fddee28e9aa0a37c633300db0e0">arm_compute::QuantizationInfo::scale</a></div><div class="ttdeci">const std::vector< float > & scale() const</div><div class="ttdoc">Scale vector accessor.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00122">QuantizationInfo.h:122</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad85d7becf0c6e3cffbc255489808e219"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">arm_compute::test::validation::qinfo</a></div><div class="ttdeci">const QuantizationInfo qinfo</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00150">Im2Col.cpp:150</a></div></div>
</div><!-- fragment -->
-<p class="reference">Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01103">check_value_range()</a>, <a class="el" href="tests_2validation_2_helpers_8cpp_source.xhtml#l00111">arm_compute::test::validation::convert_from_asymmetric()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00161">delta_bilinear_c1_quantized()</a>, <a class="el" href="validation_2reference_2_depth_concatenate_layer_8cpp_source.xhtml#l00037">arm_compute::test::validation::reference::depthconcatenate_layer()</a>, <a class="el" href="_c_p_p_detection_post_process_layer_8cpp_source.xhtml#l00272">CPPDetectionPostProcessLayer::run()</a>, and <a class="el" href="validation_2reference_2_scale_8cpp_source.xhtml#l00190">arm_compute::test::validation::reference::scale()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01136">check_value_range()</a>, <a class="el" href="tests_2validation_2_helpers_8cpp_source.xhtml#l00111">arm_compute::test::validation::convert_from_asymmetric()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00161">delta_bilinear_c1_quantized()</a>, <a class="el" href="validation_2reference_2_depth_concatenate_layer_8cpp_source.xhtml#l00037">arm_compute::test::validation::reference::depthconcatenate_layer()</a>, <a class="el" href="_n_e_r_o_i_align_layer_kernel_8cpp_source.xhtml#l00204">roi_align_1x1_qasymm8()</a>, <a class="el" href="_c_p_p_detection_post_process_layer_8cpp_source.xhtml#l00257">CPPDetectionPostProcessLayer::run()</a>, and <a class="el" href="validation_2reference_2_scale_8cpp_source.xhtml#l00191">arm_compute::test::validation::reference::scale()</a>.</p>
</div>
</div>
@@ -12546,7 +13176,7 @@
</table>
</div><div class="memdoc">
-<p>Dequantize a value given a asymmetric quantization scheme. </p>
+<p>Dequantize a value given a 8-bit asymmetric quantization scheme. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to dequantize </td></tr>
@@ -12556,9 +13186,9 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Dequantized value </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00260">260</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</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>  UniformQuantizationInfo uqinfo = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>.<a class="code" href="classarm__compute_1_1_quantization_info.xhtml#a706fc156bcd4c45441bcaad05884b57d">uniform</a>();</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="keywordflow">return</span> (static_cast<int>(value) - uqinfo.offset) * uqinfo.<a class="code" href="structarm__compute_1_1_uniform_quantization_info.xhtml#a1d28dec57cce925ad92342891bd71e7c">scale</a>;</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span> }</div><div class="ttc" id="structarm__compute_1_1_uniform_quantization_info_xhtml_a1d28dec57cce925ad92342891bd71e7c"><div class="ttname"><a href="structarm__compute_1_1_uniform_quantization_info.xhtml#a1d28dec57cce925ad92342891bd71e7c">arm_compute::UniformQuantizationInfo::scale</a></div><div class="ttdeci">float scale</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00061">QuantizationInfo.h:61</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_quantization_info_xhtml_a706fc156bcd4c45441bcaad05884b57d"><div class="ttname"><a href="classarm__compute_1_1_quantization_info.xhtml#a706fc156bcd4c45441bcaad05884b57d">arm_compute::QuantizationInfo::uniform</a></div><div class="ttdeci">UniformQuantizationInfo uniform() const</div><div class="ttdoc">Return per layer quantization info.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00134">QuantizationInfo.h:134</a></div></div>
+<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00287">287</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00288"></a><span class="lineno"> 288</span> {</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  UniformQuantizationInfo uqinfo = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>.<a class="code" href="classarm__compute_1_1_quantization_info.xhtml#a706fc156bcd4c45441bcaad05884b57d">uniform</a>();</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <span class="keywordflow">return</span> (static_cast<int>(value) - uqinfo.offset) * uqinfo.<a class="code" href="structarm__compute_1_1_uniform_quantization_info.xhtml#a1d28dec57cce925ad92342891bd71e7c">scale</a>;</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span> }</div><div class="ttc" id="structarm__compute_1_1_uniform_quantization_info_xhtml_a1d28dec57cce925ad92342891bd71e7c"><div class="ttname"><a href="structarm__compute_1_1_uniform_quantization_info.xhtml#a1d28dec57cce925ad92342891bd71e7c">arm_compute::UniformQuantizationInfo::scale</a></div><div class="ttdeci">float scale</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00062">QuantizationInfo.h:62</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_quantization_info_xhtml_a706fc156bcd4c45441bcaad05884b57d"><div class="ttname"><a href="classarm__compute_1_1_quantization_info.xhtml#a706fc156bcd4c45441bcaad05884b57d">arm_compute::QuantizationInfo::uniform</a></div><div class="ttdeci">UniformQuantizationInfo uniform() const</div><div class="ttdoc">Return per layer quantization info.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00146">QuantizationInfo.h:146</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad85d7becf0c6e3cffbc255489808e219"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">arm_compute::test::validation::qinfo</a></div><div class="ttdeci">const QuantizationInfo qinfo</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00150">Im2Col.cpp:150</a></div></div>
</div><!-- fragment -->
</div>
@@ -12607,11 +13237,11 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Dequantized value </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00337">337</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</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>  <span class="keywordflow">return</span> value * <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>.<a class="code" href="classarm__compute_1_1_quantization_info.xhtml#af21c7fddee28e9aa0a37c633300db0e0">scale</a>;</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span> }</div><div class="ttc" id="classarm__compute_1_1_quantization_info_xhtml_af21c7fddee28e9aa0a37c633300db0e0"><div class="ttname"><a href="classarm__compute_1_1_quantization_info.xhtml#af21c7fddee28e9aa0a37c633300db0e0">arm_compute::QuantizationInfo::scale</a></div><div class="ttdeci">const std::vector< float > & scale() const</div><div class="ttdoc">Scale vector accessor.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00110">QuantizationInfo.h:110</a></div></div>
+<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00377">377</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</a>.</p>
+<div class="fragment"><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">return</span> value * <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>.<a class="code" href="classarm__compute_1_1_quantization_info.xhtml#af21c7fddee28e9aa0a37c633300db0e0">scale</a>;</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span> }</div><div class="ttc" id="classarm__compute_1_1_quantization_info_xhtml_af21c7fddee28e9aa0a37c633300db0e0"><div class="ttname"><a href="classarm__compute_1_1_quantization_info.xhtml#af21c7fddee28e9aa0a37c633300db0e0">arm_compute::QuantizationInfo::scale</a></div><div class="ttdeci">const std::vector< float > & scale() const</div><div class="ttdoc">Scale vector accessor.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00122">QuantizationInfo.h:122</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad85d7becf0c6e3cffbc255489808e219"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">arm_compute::test::validation::qinfo</a></div><div class="ttdeci">const QuantizationInfo qinfo</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00150">Im2Col.cpp:150</a></div></div>
</div><!-- fragment -->
-<p class="reference">Referenced by <a class="el" href="tests_2validation_2_helpers_8cpp_source.xhtml#l00149">arm_compute::test::validation::convert_from_symmetric()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="tests_2validation_2_helpers_8cpp_source.xhtml#l00175">arm_compute::test::validation::convert_from_symmetric()</a>.</p>
</div>
</div>
@@ -12659,9 +13289,9 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Dequantized value </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00361">361</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00362"></a><span class="lineno"> 362</span> {</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#aae7ed4b777e2220a1959b79a7834042c">dequantize_qsymm16</a>(value, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>.<a class="code" href="classarm__compute_1_1_quantization_info.xhtml#a706fc156bcd4c45441bcaad05884b57d">uniform</a>());</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_aae7ed4b777e2220a1959b79a7834042c"><div class="ttname"><a href="namespacearm__compute.xhtml#aae7ed4b777e2220a1959b79a7834042c">arm_compute::dequantize_qsymm16</a></div><div class="ttdeci">float dequantize_qsymm16(int16_t value, const QuantizationInfo &qinfo)</div><div class="ttdoc">Dequantize a value given a 16-bit symmetric quantization scheme.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00361">QuantizationInfo.h:361</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_quantization_info_xhtml_a706fc156bcd4c45441bcaad05884b57d"><div class="ttname"><a href="classarm__compute_1_1_quantization_info.xhtml#a706fc156bcd4c45441bcaad05884b57d">arm_compute::QuantizationInfo::uniform</a></div><div class="ttdeci">UniformQuantizationInfo uniform() const</div><div class="ttdoc">Return per layer quantization info.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00134">QuantizationInfo.h:134</a></div></div>
+<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00401">401</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00402"></a><span class="lineno"> 402</span> {</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#aae7ed4b777e2220a1959b79a7834042c">dequantize_qsymm16</a>(value, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>.<a class="code" href="classarm__compute_1_1_quantization_info.xhtml#a706fc156bcd4c45441bcaad05884b57d">uniform</a>());</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_aae7ed4b777e2220a1959b79a7834042c"><div class="ttname"><a href="namespacearm__compute.xhtml#aae7ed4b777e2220a1959b79a7834042c">arm_compute::dequantize_qsymm16</a></div><div class="ttdeci">float dequantize_qsymm16(int16_t value, const QuantizationInfo &qinfo)</div><div class="ttdoc">Dequantize a value given a 16-bit symmetric quantization scheme.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00401">QuantizationInfo.h:401</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_quantization_info_xhtml_a706fc156bcd4c45441bcaad05884b57d"><div class="ttname"><a href="classarm__compute_1_1_quantization_info.xhtml#a706fc156bcd4c45441bcaad05884b57d">arm_compute::QuantizationInfo::uniform</a></div><div class="ttdeci">UniformQuantizationInfo uniform() const</div><div class="ttdoc">Return per layer quantization info.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00146">QuantizationInfo.h:146</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad85d7becf0c6e3cffbc255489808e219"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">arm_compute::test::validation::qinfo</a></div><div class="ttdeci">const QuantizationInfo qinfo</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00150">Im2Col.cpp:150</a></div></div>
</div><!-- fragment -->
</div>
@@ -12700,7 +13330,7 @@
</table>
</div><div class="memdoc">
-<p>Dequantize a value given a symmetric quantization scheme. </p>
+<p>Dequantize a value given a 8-bit symmetric quantization scheme. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to dequantize </td></tr>
@@ -12710,8 +13340,8 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Dequantized value </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00286">286</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.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>  <span class="keywordflow">return</span> value * <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>.<a class="code" href="classarm__compute_1_1_quantization_info.xhtml#af21c7fddee28e9aa0a37c633300db0e0">scale</a>;</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span> }</div><div class="ttc" id="classarm__compute_1_1_quantization_info_xhtml_af21c7fddee28e9aa0a37c633300db0e0"><div class="ttname"><a href="classarm__compute_1_1_quantization_info.xhtml#af21c7fddee28e9aa0a37c633300db0e0">arm_compute::QuantizationInfo::scale</a></div><div class="ttdeci">const std::vector< float > & scale() const</div><div class="ttdoc">Scale vector accessor.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00110">QuantizationInfo.h:110</a></div></div>
+<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00313">313</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.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">return</span> value * <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>.<a class="code" href="classarm__compute_1_1_quantization_info.xhtml#af21c7fddee28e9aa0a37c633300db0e0">scale</a>;</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span> }</div><div class="ttc" id="classarm__compute_1_1_quantization_info_xhtml_af21c7fddee28e9aa0a37c633300db0e0"><div class="ttname"><a href="classarm__compute_1_1_quantization_info.xhtml#af21c7fddee28e9aa0a37c633300db0e0">arm_compute::QuantizationInfo::scale</a></div><div class="ttdeci">const std::vector< float > & scale() const</div><div class="ttdoc">Scale vector accessor.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00122">QuantizationInfo.h:122</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad85d7becf0c6e3cffbc255489808e219"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">arm_compute::test::validation::qinfo</a></div><div class="ttdeci">const QuantizationInfo qinfo</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00150">Im2Col.cpp:150</a></div></div>
</div><!-- fragment -->
</div>
@@ -12752,9 +13382,9 @@
</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="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00187">187</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="l00188"></a><span class="lineno"> 188</span> {</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  std::string extensions = device.getInfo<CL_DEVICE_EXTENSIONS>();</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <span class="keyword">auto</span> pos = extensions.find(extension_name);</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="keywordflow">return</span> (pos != std::string::npos);</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span> }</div></div><!-- fragment -->
-<p class="reference">Referenced by <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00139">arm_non_uniform_workgroup_supported()</a>, <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00159">dot8_acc_supported()</a>, <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00149">dot8_supported()</a>, <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00144">fp16_supported()</a>, <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l01130">CLKernelLibrary::int64_base_atomics_supported()</a>, and <a class="el" href="tests_2validation_2_c_l_2_u_n_i_t_2_tensor_allocator_8cpp_source.xhtml#l00111">arm_compute::test::validation::TEST_CASE()</a>.</p>
+<p class="definition">Definition at line <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00242">242</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="l00243"></a><span class="lineno"> 243</span> {</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  std::string extensions = device.getInfo<CL_DEVICE_EXTENSIONS>();</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <span class="keyword">auto</span> pos = extensions.find(extension_name);</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keywordflow">return</span> (pos != std::string::npos);</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span> }</div></div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00194">arm_non_uniform_workgroup_supported()</a>, <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00214">dot8_acc_supported()</a>, <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00204">dot8_supported()</a>, <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00199">fp16_supported()</a>, <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l01200">CLKernelLibrary::int64_base_atomics_supported()</a>, and <a class="el" href="tests_2validation_2_c_l_2_u_n_i_t_2_tensor_allocator_8cpp_source.xhtml#l00111">arm_compute::test::validation::TEST_CASE()</a>.</p>
</div>
</div>
@@ -12826,12 +13456,12 @@
</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="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00159">159</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="l00160"></a><span class="lineno"> 160</span> {</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</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="l00162"></a><span class="lineno"> 162</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#l00187">CLHelpers.cpp:187</a></div></div>
+<p class="definition">Definition at line <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00214">214</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="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> <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="l00217"></a><span class="lineno"> 217</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#l00242">CLHelpers.cpp:242</a></div></div>
</div><!-- fragment -->
-<p class="reference">References <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00187">device_supports_extension()</a>.</p>
+<p class="reference">References <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00242">device_supports_extension()</a>.</p>
-<p class="reference">Referenced by <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l01043">CLKernelLibrary::create_kernel()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l01070">CLKernelLibrary::create_kernel()</a>.</p>
</div>
</div>
@@ -12860,14 +13490,14 @@
</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="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00149">149</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="l00150"></a><span class="lineno"> 150</span> {</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  std::string device_name = device.getInfo<CL_DEVICE_NAME>();</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</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="l00153"></a><span class="lineno"> 153</span> </div><div class="line"><a name="l00154"></a><span class="lineno"> 154</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="l00155"></a><span class="lineno"> 155</span>  std::set<GPUTarget> sw_workaround_issue = { GPUTarget::G76 };</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</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="l00157"></a><span class="lineno"> 157</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#l00141">GPUTarget.cpp:141</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#l00187">CLHelpers.cpp:187</a></div></div>
+<p class="definition">Definition at line <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00204">204</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="l00205"></a><span class="lineno"> 205</span> {</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  std::string device_name = device.getInfo<CL_DEVICE_NAME>();</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</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="l00208"></a><span class="lineno"> 208</span> </div><div class="line"><a name="l00209"></a><span class="lineno"> 209</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="l00210"></a><span class="lineno"> 210</span>  std::set<GPUTarget> sw_workaround_issue = { GPUTarget::G76 };</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</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="l00212"></a><span class="lineno"> 212</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#l00141">GPUTarget.cpp:141</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#l00242">CLHelpers.cpp:242</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#l00187">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#l00141">get_target_from_name()</a>.</p>
+<p class="reference">References <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00242">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#l00141">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#l00178">CLDepthwiseConvolutionLayer3x3NHWCKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_native_kernel_8cpp_source.xhtml#l00175">CLGEMMLowpMatrixMultiplyNativeKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_reshaped_only_r_h_s_kernel_8cpp_source.xhtml#l00173">CLGEMMLowpMatrixMultiplyReshapedOnlyRHSKernel::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_reduction_kernel_8cpp_source.xhtml#l00103">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#l01043">CLKernelLibrary::create_kernel()</a>, and <a class="el" href="_c_l_depthwise_convolution_layer_8cpp_source.xhtml#l00139">CLDepthwiseConvolutionLayer3x3::validate()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_c_h_w_kernel_8cpp_source.xhtml#l00243">CLDepthwiseConvolutionLayer3x3NCHWKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00197">CLDepthwiseConvolutionLayer3x3NHWCKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_native_kernel_8cpp_source.xhtml#l00172">CLGEMMLowpMatrixMultiplyNativeKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_reshaped_only_r_h_s_kernel_8cpp_source.xhtml#l00172">CLGEMMLowpMatrixMultiplyReshapedOnlyRHSKernel::configure()</a>, and <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l01070">CLKernelLibrary::create_kernel()</a>.</p>
</div>
</div>
@@ -12904,12 +13534,12 @@
</dl>
<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#l00184">184</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="l00185"></a><span class="lineno"> 185</span> {</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keywordflow">switch</span>(dt)</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="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <span class="keywordflow">case</span> DataType::QSYMM8:</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <span class="keywordflow">case</span> DataType::QSYMM8_PER_CHANNEL:</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="keywordflow">case</span> DataType::QSYMM16:</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</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="l00205"></a><span class="lineno"> 205</span>  <span class="keywordflow">return</span> 0;</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> }</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="arm__compute_2core_2_utils_8h_source.xhtml#l00186">186</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="l00187"></a><span class="lineno"> 187</span> {</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="keywordflow">switch</span>(dt)</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">case</span> DataType::S8:</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <span class="keywordflow">case</span> DataType::QSYMM8:</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <span class="keywordflow">case</span> DataType::QASYMM8_SIGNED:</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <span class="keywordflow">case</span> DataType::QSYMM8_PER_CHANNEL:</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <span class="keywordflow">case</span> DataType::QSYMM16:</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <span class="keywordflow">case</span> DataType::QASYMM16:</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Undefined element size for given data type"</span>);</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <span class="keywordflow">return</span> 0;</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> }</div><div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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#ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6">QSYMM16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c">QSYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a34f500e941c4df30b870126ec868ebd5">QSYMM8_PER_CHANNEL</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">References <a class="el" href="_error_8h_source.xhtml#l00352">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#ad8ed01ff3ff33333d8e19db4d2818bb6a3b989c6b5398b3b9538ad103a324205e">QASYMM16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a329f5d0c4b0c80e3474951d2c4435dd9">QASYMM8_SIGNED</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6">QSYMM16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c">QSYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a34f500e941c4df30b870126ec868ebd5">QSYMM8_PER_CHANNEL</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="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>, <a class="el" href="_validation_8cpp_source.xhtml#l00177">arm_compute::test::validation::validate()</a>, and <a class="el" href="_n_e_depthwise_convolution_layer_native_kernel_8cpp_source.xhtml#l00221">validate_and_configure_window()</a>.</p>
+<p class="reference">Referenced by <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>, and <a class="el" href="_validation_8cpp_source.xhtml#l00177">arm_compute::test::validation::validate()</a>.</p>
</div>
</div>
@@ -12960,21 +13590,21 @@
<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>
-<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="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#acaa348bf0c7eb9493c72092b7293d45f">ARM_COMPUTE_ERROR_ON_MSG_VAR</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=%zu"</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#acaa348bf0c7eb9493c72092b7293d45f">ARM_COMPUTE_ERROR_ON_MSG_VAR</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=%zu"</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#acaa348bf0c7eb9493c72092b7293d45f">ARM_COMPUTE_ERROR_ON_MSG_VAR</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=%zu"</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#l00102">Window.h:102</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="_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#l00466">Error.h:466</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_acaa348bf0c7eb9493c72092b7293d45f"><div class="ttname"><a href="_error_8h.xhtml#acaa348bf0c7eb9493c72092b7293d45f">ARM_COMPUTE_ERROR_ON_MSG_VAR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_MSG_VAR(cond, msg,...)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00457">Error.h:457</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#l00161">Window.h:161</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="_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#l00152">Error.h:152</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#l00152">Window.h:152</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#l00097">Window.h:97</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#l00092">Window.h:92</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#l00143">Window.h:143</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#l00097">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#l00092">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00102">Window::Dimension::step()</a>, <a class="el" href="_window_8h_source.xhtml#l00143">Window::x()</a>, <a class="el" href="_window_8h_source.xhtml#l00152">Window::y()</a>, and <a class="el" href="_window_8h_source.xhtml#l00161">Window::z()</a>.</p>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00466">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_error_8h_source.xhtml#l00457">ARM_COMPUTE_ERROR_ON_MSG_VAR</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#l00152">ARM_COMPUTE_UNUSED</a>, <a class="el" href="_window_8h_source.xhtml#l00097">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#l00092">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00102">Window::Dimension::step()</a>, <a class="el" href="_window_8h_source.xhtml#l00143">Window::x()</a>, <a class="el" href="_window_8h_source.xhtml#l00152">Window::y()</a>, and <a class="el" href="_window_8h_source.xhtml#l00161">Window::z()</a>.</p>
</div>
</div>
@@ -13039,81 +13669,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>
-<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>  <span class="comment">// Use dummy work-items</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keywordflow">if</span>(use_dummy_work_items)</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>  gws.get()[0] = <a class="code" href="namespacearm__compute.xhtml#a7c3d8e17b509d0d18cc7c94b7e0a993d">get_next_power_two</a>(gws[0]);</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  gws.get()[1] = <a class="code" href="namespacearm__compute.xhtml#a7c3d8e17b509d0d18cc7c94b7e0a993d">get_next_power_two</a>(gws[1]);</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="line"><a name="l00068"></a><span class="lineno"> 68</span>  cl::NDRange valid_lws;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</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="l00070"></a><span class="lineno"> 70</span>  {</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  valid_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">else</span></div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  {</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  valid_lws = lws_hint;</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>  cl::NDRange lws = cl::NullRange;</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="keywordflow">if</span>((valid_lws[0] <= gws[0]) && (valid_lws[1] <= gws[1]) && (valid_lws[2] <= gws[2]))</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>  lws = valid_lws;</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> </div><div class="line"><a name="l00085"></a><span class="lineno"> 85</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="l00086"></a><span class="lineno"> 86</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a7c3d8e17b509d0d18cc7c94b7e0a993d"><div class="ttname"><a href="namespacearm__compute.xhtml#a7c3d8e17b509d0d18cc7c94b7e0a993d">arm_compute::get_next_power_two</a></div><div class="ttdeci">unsigned int get_next_power_two(unsigned int x)</div><div class="ttdoc">Given an integer value, this function returns the next power of two.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00775">Helpers.h:775</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>  <span class="comment">// Use dummy work-items</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keywordflow">if</span>(use_dummy_work_items)</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>  gws.get()[0] = <a class="code" href="namespacearm__compute.xhtml#a7c3d8e17b509d0d18cc7c94b7e0a993d">get_next_power_two</a>(gws[0]);</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  gws.get()[1] = <a class="code" href="namespacearm__compute.xhtml#a7c3d8e17b509d0d18cc7c94b7e0a993d">get_next_power_two</a>(gws[1]);</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="line"><a name="l00068"></a><span class="lineno"> 68</span>  cl::NDRange valid_lws;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</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="l00070"></a><span class="lineno"> 70</span>  {</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  valid_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">else</span></div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  {</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  valid_lws = lws_hint;</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>  cl::NDRange lws = cl::NullRange;</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="keywordflow">if</span>((valid_lws[0] <= gws[0]) && (valid_lws[1] <= gws[1]) && (valid_lws[2] <= gws[2]))</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>  lws = valid_lws;</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> </div><div class="line"><a name="l00085"></a><span class="lineno"> 85</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="l00086"></a><span class="lineno"> 86</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a7c3d8e17b509d0d18cc7c94b7e0a993d"><div class="ttname"><a href="namespacearm__compute.xhtml#a7c3d8e17b509d0d18cc7c94b7e0a993d">arm_compute::get_next_power_two</a></div><div class="ttdeci">unsigned int get_next_power_two(unsigned int x)</div><div class="ttdoc">Given an integer value, this function returns the next power of two.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00789">Helpers.h:789</a></div></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="_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#l00466">Error.h:466</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#l00132">ICLKernel.cpp:132</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#l00132">ICLKernel::get_max_workgroup_size()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00775">get_next_power_two()</a>, <a class="el" href="_i_c_l_kernel_8cpp_source.xhtml#l00141">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">References <a class="el" href="_error_8h_source.xhtml#l00466">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_i_c_l_kernel_8cpp_source.xhtml#l00132">ICLKernel::get_max_workgroup_size()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00789">get_next_power_two()</a>, <a class="el" href="_i_c_l_kernel_8cpp_source.xhtml#l00141">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#l00145">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#l00263">CLElementwiseOperationKernel::run()</a>, <a class="el" href="_c_l_element_wise_unary_layer_kernel_8cpp_source.xhtml#l00119">CLElementWiseUnaryLayerKernel::run()</a>, <a class="el" href="_c_l_gaussian_pyramid_kernel_8cpp_source.xhtml#l00115">CLGaussianPyramidHorKernel::run()</a>, <a class="el" href="_c_l_histogram_kernel_8cpp_source.xhtml#l00122">CLHistogramKernel::run()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00092">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_and_kernel_8cpp_source.xhtml#l00072">CLBitwiseAndKernel::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="_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="_c_l_derivative_kernel_8cpp_source.xhtml#l00135">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#l00120">CLSobel3x3Kernel::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_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00111">CLHOGOrientationBinningKernel::run()</a>, <a class="el" href="_c_l_sobel5x5_kernel_8cpp_source.xhtml#l00120">CLSobel5x5HorKernel::run()</a>, <a class="el" href="_c_l_sobel7x7_kernel_8cpp_source.xhtml#l00122">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="_c_l_g_e_m_m_matrix_accumulate_biases_kernel_8cpp_source.xhtml#l00115">CLGEMMMatrixAccumulateBiasesKernel::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_dequantization_layer_kernel_8cpp_source.xhtml#l00121">CLDequantizationLayerKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_vector_multiply_kernel_8cpp_source.xhtml#l00136">CLGEMMMatrixVectorMultiplyKernel::run()</a>, <a class="el" href="_c_l_magnitude_phase_kernel_8cpp_source.xhtml#l00153">CLMagnitudePhaseKernel::run()</a>, <a class="el" href="_c_l_floor_kernel_8cpp_source.xhtml#l00114">CLFloorKernel::run()</a>, <a class="el" href="_g_c_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00087">GCDepthConcatenateLayerKernel::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_channel_shuffle_layer_kernel_8cpp_source.xhtml#l00170">CLChannelShuffleLayerKernel::run()</a>, <a class="el" href="_c_l_integral_image_kernel_8cpp_source.xhtml#l00119">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_copy_kernel_8cpp_source.xhtml#l00246">CLCopyKernel::run()</a>, <a class="el" href="_c_l_permute_kernel_8cpp_source.xhtml#l00125">CLPermuteKernel::run()</a>, <a class="el" href="_c_l_quantization_layer_kernel_8cpp_source.xhtml#l00116">CLQuantizationLayerKernel::run()</a>, <a class="el" href="_c_l_reverse_kernel_8cpp_source.xhtml#l00130">CLReverseKernel::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_depth_to_space_layer_kernel_8cpp_source.xhtml#l00102">CLDepthToSpaceLayerKernel::run()</a>, <a class="el" href="_c_l_space_to_depth_layer_kernel_8cpp_source.xhtml#l00103">CLSpaceToDepthLayerKernel::run()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00171">GCLogits1DShiftExpSumKernel::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#l00112">CLComputeAllAnchorsKernel::run()</a>, <a class="el" href="_c_l_locally_connected_matrix_multiply_kernel_8cpp_source.xhtml#l00129">CLLocallyConnectedMatrixMultiplyKernel::run()</a>, <a class="el" href="_c_l_deconvolution_layer_upsample_kernel_8cpp_source.xhtml#l00097">CLDeconvolutionLayerUpsampleKernel::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="_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_f_f_t_scale_kernel_8cpp_source.xhtml#l00123">CLFFTScaleKernel::run()</a>, <a class="el" href="_c_l_memset_kernel_8cpp_source.xhtml#l00093">CLMemsetKernel::run()</a>, <a class="el" href="_c_l_fill_border_kernel_8cpp_source.xhtml#l00165">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_activation_layer_kernel_8cpp_source.xhtml#l00237">CLActivationLayerKernel::run()</a>, <a class="el" href="_c_l_width_concatenate2_tensors_kernel_8cpp_source.xhtml#l00164">CLWidthConcatenate2TensorsKernel::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="_g_c_pooling_layer_kernel_8cpp_source.xhtml#l00331">GCPoolingLayerKernel::run()</a>, <a class="el" href="_c_l_comparison_kernel_8cpp_source.xhtml#l00173">CLComparisonKernel::run()</a>, <a class="el" href="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00111">CLFastCornersKernel::run()</a>, <a class="el" href="_c_l_mean_std_dev_normalization_kernel_8cpp_source.xhtml#l00130">CLMeanStdDevNormalizationKernel::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#l00324">CLPoolingLayerKernel::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_width_concatenate_layer_kernel_8cpp_source.xhtml#l00132">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_height_concatenate_layer_kernel_8cpp_source.xhtml#l00157">CLHeightConcatenateLayerKernel::run()</a>, <a class="el" href="_c_l_f_f_t_digit_reverse_kernel_8cpp_source.xhtml#l00114">CLFFTDigitReverseKernel::run()</a>, <a class="el" href="_c_l_harris_corners_kernel_8cpp_source.xhtml#l00127">CLHarrisScoreKernel::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_reorg_layer_kernel_8cpp_source.xhtml#l00124">CLReorgLayerKernel::run()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_c_h_w_kernel_8cpp_source.xhtml#l00336">CLDepthwiseConvolutionLayer3x3NCHWKernel::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#l00126">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#l00239">CLChannelCombineKernel::run()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00324">CLDepthwiseConvolutionLayer3x3NHWCKernel::run()</a>, <a class="el" href="_g_c_arithmetic_addition_kernel_8cpp_source.xhtml#l00131">GCArithmeticAdditionKernel::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#l00162">CLNormalizePlanarYUVLayerKernel::run()</a>, <a class="el" href="_c_l_range_kernel_8cpp_source.xhtml#l00146">CLRangeKernel::run()</a>, <a class="el" href="_c_l_scale_kernel_8cpp_source.xhtml#l00247">CLScaleKernel::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#l00213">CLWidthConcatenate4TensorsKernel::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_batch_concatenate_layer_kernel_8cpp_source.xhtml#l00152">CLBatchConcatenateLayerKernel::run()</a>, <a class="el" href="_c_l_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00133">CLDepthConcatenateLayerKernel::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="_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_reduction_operation_kernel_8cpp_source.xhtml#l00262">CLReductionOperationKernel::run()</a>, <a class="el" href="_c_l_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00242">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_l2_normalize_layer_kernel_8cpp_source.xhtml#l00161">CLL2NormalizeLayerKernel::run()</a>, <a class="el" href="_c_l_crop_kernel_8cpp_source.xhtml#l00115">CLCropKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_kernel_8cpp_source.xhtml#l00247">CLGEMMLowpMatrixMultiplyKernel::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_f_f_t_radix_stage_kernel_8cpp_source.xhtml#l00148">CLFFTRadixStageKernel::run()</a>, <a class="el" href="_c_l_stack_layer_kernel_8cpp_source.xhtml#l00119">CLStackLayerKernel::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_g_e_m_m_lowp_matrix_multiply_native_kernel_8cpp_source.xhtml#l00267">CLGEMMLowpMatrixMultiplyNativeKernel::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="_c_l_color_convert_kernel_8cpp_source.xhtml#l00432">CLColorConvertKernel::run()</a>, <a class="el" href="_c_l_depthwise_im2_col_kernel_8cpp_source.xhtml#l00121">CLDepthwiseIm2ColKernel::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_col2_im_kernel_8cpp_source.xhtml#l00097">GCCol2ImKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_reduction_kernel_8cpp_source.xhtml#l00145">CLGEMMLowpMatrixAReductionKernel::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_matrix_multiply_reshaped_only_r_h_s_kernel_8cpp_source.xhtml#l00272">CLGEMMLowpMatrixMultiplyReshapedOnlyRHSKernel::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_deconvolution_reshape_output_kernel_8cpp_source.xhtml#l00180">CLDeconvolutionReshapeOutputKernel::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_int16_scale_by_fixed_point_kernel_8cpp_source.xhtml#l00153">CLGEMMLowpQuantizeDownInt32ToInt16ScaleByFixedPointKernel::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_kernel_8cpp_source.xhtml#l00151">CLGEMMLowpQuantizeDownInt32ToUint8ScaleKernel::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_col2_im_kernel_8cpp_source.xhtml#l00142">CLCol2ImKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_offset_contribution_output_stage_kernel_8cpp_source.xhtml#l00257">CLGEMMLowpOffsetContributionOutputStageKernel::run()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00553">CLDirectConvolutionLayerKernel::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_histogram_kernel_8cpp_source.xhtml#l00222">CLHistogramBorderKernel::run()</a>, <a class="el" href="_c_l_gaussian_pyramid_kernel_8cpp_source.xhtml#l00211">CLGaussianPyramidVertKernel::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_lowp_matrix_multiply_reshaped_kernel_8cpp_source.xhtml#l00267">CLGEMMLowpMatrixMultiplyReshapedKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00476">CLGEMMMatrixMultiplyKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_native_kernel_8cpp_source.xhtml#l00321">CLGEMMMatrixMultiplyNativeKernel::run()</a>, <a class="el" href="_c_l_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00177">CLFuseBatchNormalizationKernel::run()</a>, <a class="el" href="_c_l_space_to_batch_layer_kernel_8cpp_source.xhtml#l00173">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_g_e_m_m_matrix_multiply_reshaped_only_r_h_s_kernel_8cpp_source.xhtml#l00331">CLGEMMMatrixMultiplyReshapedOnlyRHSKernel::run()</a>, <a class="el" href="_c_l_winograd_output_transform_kernel_8cpp_source.xhtml#l00230">CLWinogradOutputTransformKernel::run()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00172">CLEdgeNonMaxSuppressionKernel::run()</a>, <a class="el" href="_c_l_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00208">CLHOGBlockNormalizationKernel::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_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#l00353">CLIm2ColKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_reshaped_kernel_8cpp_source.xhtml#l00326">CLGEMMMatrixMultiplyReshapedKernel::run()</a>, <a class="el" href="_c_l_sobel5x5_kernel_8cpp_source.xhtml#l00223">CLSobel5x5VertKernel::run()</a>, <a class="el" href="_c_l_sobel7x7_kernel_8cpp_source.xhtml#l00225">CLSobel7x7VertKernel::run()</a>, <a class="el" href="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00182">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#l00199">CLGEMMLowpMatrixBReductionKernel::run()</a>, <a class="el" href="_c_l_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00377">CLComplexPixelWiseMultiplicationKernel::run()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00273">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#l00300">CLLogits1DMaxShiftExpSumKernel::run()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00339">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#l00382">CLLogits1DNormKernel::run()</a>.</p>
-
-</div>
-</div>
-<a id="a0768178b90a30994784fd28c5a89323f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0768178b90a30994784fd28c5a89323f">◆ </a></span>error()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void error </td>
- <td>(</td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>function</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>file</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const int </td>
- <td class="paramname"><em>line</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>msg</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"> </td>
- <td class="paramname"><em>...</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Print an error message then throw an std::runtime_error. </p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>Message to display before aborting. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">...</td><td>Variable number of arguments of the message. </td></tr>
- </table>
- </dd>
-</dl>
-
-<p class="definition">Definition at line <a class="el" href="_error_8cpp_source.xhtml#l00052">52</a> of file <a class="el" href="_error_8cpp_source.xhtml">Error.cpp</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>  va_list args;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  va_start(args, msg);</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</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="l00057"></a><span class="lineno"> 57</span>  va_end(args);</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</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="l00059"></a><span class="lineno"> 59</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#l00034">Error.cpp:34</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#l00034">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>
+<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#l00145">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#l00263">CLElementwiseOperationKernel::run()</a>, <a class="el" href="_c_l_element_wise_unary_layer_kernel_8cpp_source.xhtml#l00119">CLElementWiseUnaryLayerKernel::run()</a>, <a class="el" href="_c_l_gaussian_pyramid_kernel_8cpp_source.xhtml#l00115">CLGaussianPyramidHorKernel::run()</a>, <a class="el" href="_c_l_histogram_kernel_8cpp_source.xhtml#l00122">CLHistogramKernel::run()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00092">CLGradientKernel::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="_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_derivative_kernel_8cpp_source.xhtml#l00135">CLDerivativeKernel::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_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00101">GCPixelWiseMultiplicationKernel::run()</a>, <a class="el" href="_c_l_sobel3x3_kernel_8cpp_source.xhtml#l00120">CLSobel3x3Kernel::run()</a>, <a class="el" href="_c_l_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00111">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#l00120">CLSobel5x5HorKernel::run()</a>, <a class="el" href="_c_l_sobel7x7_kernel_8cpp_source.xhtml#l00122">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_dequantization_layer_kernel_8cpp_source.xhtml#l00132">CLDequantizationLayerKernel::run()</a>, <a class="el" href="_c_l_magnitude_phase_kernel_8cpp_source.xhtml#l00153">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#l00136">CLGEMMMatrixVectorMultiplyKernel::run()</a>, <a class="el" href="_g_c_activation_layer_kernel_8cpp_source.xhtml#l00104">GCActivationLayerKernel::run()</a>, <a class="el" href="_g_c_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00087">GCDepthConcatenateLayerKernel::run()</a>, <a class="el" href="_c_l_channel_shuffle_layer_kernel_8cpp_source.xhtml#l00156">CLChannelShuffleLayerKernel::run()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_reshape_weights_kernel_8cpp_source.xhtml#l00115">CLDepthwiseConvolutionLayerReshapeWeightsKernel::run()</a>, <a class="el" href="_c_l_integral_image_kernel_8cpp_source.xhtml#l00119">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_permute_kernel_8cpp_source.xhtml#l00120">CLPermuteKernel::run()</a>, <a class="el" href="_c_l_copy_kernel_8cpp_source.xhtml#l00246">CLCopyKernel::run()</a>, <a class="el" href="_c_l_reverse_kernel_8cpp_source.xhtml#l00117">CLReverseKernel::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_depth_to_space_layer_kernel_8cpp_source.xhtml#l00102">CLDepthToSpaceLayerKernel::run()</a>, <a class="el" href="_c_l_space_to_depth_layer_kernel_8cpp_source.xhtml#l00103">CLSpaceToDepthLayerKernel::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="_c_l_deconvolution_layer_upsample_kernel_8cpp_source.xhtml#l00097">CLDeconvolutionLayerUpsampleKernel::run()</a>, <a class="el" href="_c_l_generate_proposals_layer_kernel_8cpp_source.xhtml#l00127">CLComputeAllAnchorsKernel::run()</a>, <a class="el" href="_g_c_fill_border_kernel_8cpp_source.xhtml#l00141">GCFillBorderKernel::run()</a>, <a class="el" href="_c_l_channel_extract_kernel_8cpp_source.xhtml#l00168">CLChannelExtractKernel::run()</a>, <a class="el" href="_c_l_f_f_t_scale_kernel_8cpp_source.xhtml#l00123">CLFFTScaleKernel::run()</a>, <a class="el" href="_c_l_memset_kernel_8cpp_source.xhtml#l00093">CLMemsetKernel::run()</a>, <a class="el" href="_c_l_fill_border_kernel_8cpp_source.xhtml#l00165">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_quantization_layer_kernel_8cpp_source.xhtml#l00125">CLQuantizationLayerKernel::run()</a>, <a class="el" href="_c_l_upsample_layer_kernel_8cpp_source.xhtml#l00134">CLUpsampleLayerKernel::run()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00237">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#l00111">CLFastCornersKernel::run()</a>, <a class="el" href="_c_l_mean_std_dev_normalization_kernel_8cpp_source.xhtml#l00130">CLMeanStdDevNormalizationKernel::run()</a>, <a class="el" href="_c_l_comparison_kernel_8cpp_source.xhtml#l00173">CLComparisonKernel::run()</a>, <a class="el" href="_c_l_pooling_layer_kernel_8cpp_source.xhtml#l00330">CLPoolingLayerKernel::run()</a>, <a class="el" href="_c_l_gather_kernel_8cpp_source.xhtml#l00124">CLGatherKernel::run()</a>, <a class="el" href="_c_l_tile_kernel_8cpp_source.xhtml#l00135">CLTileKernel::run()</a>, <a class="el" href="_c_l_width_concatenate2_tensors_kernel_8cpp_source.xhtml#l00164">CLWidthConcatenate2TensorsKernel::run()</a>, <a class="el" href="_c_l_f_f_t_digit_reverse_kernel_8cpp_source.xhtml#l00114">CLFFTDigitReverseKernel::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_reorg_layer_kernel_8cpp_source.xhtml#l00124">CLReorgLayerKernel::run()</a>, <a class="el" href="_c_l_width_concatenate_layer_kernel_8cpp_source.xhtml#l00132">CLWidthConcatenateLayerKernel::run()</a>, <a class="el" href="_c_l_height_concatenate_layer_kernel_8cpp_source.xhtml#l00134">CLHeightConcatenateLayerKernel::run()</a>, <a class="el" href="_c_l_harris_corners_kernel_8cpp_source.xhtml#l00127">CLHarrisScoreKernel::run()</a>, <a class="el" href="_c_l_channel_combine_kernel_8cpp_source.xhtml#l00239">CLChannelCombineKernel::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_prior_box_layer_kernel_8cpp_source.xhtml#l00200">CLPriorBoxLayerKernel::run()</a>, <a class="el" href="_c_l_h_o_g_detector_kernel_8cpp_source.xhtml#l00126">CLHOGDetectorKernel::run()</a>, <a class="el" href="_g_c_arithmetic_addition_kernel_8cpp_source.xhtml#l00131">GCArithmeticAdditionKernel::run()</a>, <a class="el" href="_c_l_instance_normalization_layer_kernel_8cpp_source.xhtml#l00123">CLInstanceNormalizationLayerKernel::run()</a>, <a class="el" href="_c_l_pad_layer_kernel_8cpp_source.xhtml#l00202">CLPadLayerKernel::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#l00162">CLNormalizePlanarYUVLayerKernel::run()</a>, <a class="el" href="_c_l_range_kernel_8cpp_source.xhtml#l00146">CLRangeKernel::run()</a>, <a class="el" href="_c_l_scale_kernel_8cpp_source.xhtml#l00247">CLScaleKernel::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_batch_concatenate_layer_kernel_8cpp_source.xhtml#l00152">CLBatchConcatenateLayerKernel::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_select_kernel_8cpp_source.xhtml#l00172">CLSelectKernel::run()</a>, <a class="el" href="_c_l_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00133">CLDepthConcatenateLayerKernel::run()</a>, <a class="el" href="_c_l_width_concatenate4_tensors_kernel_8cpp_source.xhtml#l00213">CLWidthConcatenate4TensorsKernel::run()</a>, <a class="el" href="_g_c_tensor_shift_kernel_8cpp_source.xhtml#l00077">GCTensorShiftKernel::run()</a>, <a class="el" href="_c_l_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00242">CLPixelWiseMultiplicationKernel::run()</a>, <a class="el" href="_c_l_bounding_box_transform_kernel_8cpp_source.xhtml#l00153">CLBoundingBoxTransformKernel::run()</a>, <a class="el" href="_c_l_crop_kernel_8cpp_source.xhtml#l00115">CLCropKernel::run()</a>, <a class="el" href="_c_l_l2_normalize_layer_kernel_8cpp_source.xhtml#l00161">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_f_f_t_radix_stage_kernel_8cpp_source.xhtml#l00148">CLFFTRadixStageKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_reshape_r_h_s_matrix_kernel_8cpp_source.xhtml#l00142">CLGEMMReshapeRHSMatrixKernel::run()</a>, <a class="el" href="_c_l_stack_layer_kernel_8cpp_source.xhtml#l00119">CLStackLayerKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_native_kernel_8cpp_source.xhtml#l00264">CLGEMMLowpMatrixMultiplyNativeKernel::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#l00432">CLColorConvertKernel::run()</a>, <a class="el" href="_c_l_reduction_operation_kernel_8cpp_source.xhtml#l00261">CLReductionOperationKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_reshape_l_h_s_matrix_kernel_8cpp_source.xhtml#l00186">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_depthwise_convolution_layer3x3_n_c_h_w_kernel_8cpp_source.xhtml#l00361">CLDepthwiseConvolutionLayer3x3NCHWKernel::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_r_o_i_align_layer_kernel_8cpp_source.xhtml#l00162">CLROIAlignLayerKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_reshaped_only_r_h_s_kernel_8cpp_source.xhtml#l00271">CLGEMMLowpMatrixMultiplyReshapedOnlyRHSKernel::run()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00355">CLDepthwiseConvolutionLayer3x3NHWCKernel::run()</a>, <a class="el" href="_c_l_batch_to_space_layer_kernel_8cpp_source.xhtml#l00149">CLBatchToSpaceLayerKernel::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_deconvolution_reshape_output_kernel_8cpp_source.xhtml#l00175">CLDeconvolutionReshapeOutputKernel::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_col2_im_kernel_8cpp_source.xhtml#l00142">CLCol2ImKernel::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_direct_convolution_layer_kernel_8cpp_source.xhtml#l00576">CLDirectConvolutionLayerKernel::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_histogram_kernel_8cpp_source.xhtml#l00222">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_gaussian_pyramid_kernel_8cpp_source.xhtml#l00211">CLGaussianPyramidVertKernel::run()</a>, <a class="el" href="_c_l_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00177">CLFuseBatchNormalizationKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00476">CLGEMMMatrixMultiplyKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_native_kernel_8cpp_source.xhtml#l00330">CLGEMMMatrixMultiplyNativeKernel::run()</a>, <a class="el" href="_c_l_space_to_batch_layer_kernel_8cpp_source.xhtml#l00173">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_g_e_m_m_matrix_multiply_reshaped_only_r_h_s_kernel_8cpp_source.xhtml#l00340">CLGEMMMatrixMultiplyReshapedOnlyRHSKernel::run()</a>, <a class="el" href="_c_l_winograd_output_transform_kernel_8cpp_source.xhtml#l00222">CLWinogradOutputTransformKernel::run()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00172">CLEdgeNonMaxSuppressionKernel::run()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_native_kernel_8cpp_source.xhtml#l00299">CLDepthwiseConvolutionLayerNativeKernel::run()</a>, <a class="el" href="_c_l_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00208">CLHOGBlockNormalizationKernel::run()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_offset_contribution_output_stage_kernel_8cpp_source.xhtml#l00287">CLGEMMLowpOffsetContributionOutputStageKernel::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_weights_reshape_kernel_8cpp_source.xhtml#l00119">CLWeightsReshapeKernel::run()</a>, <a class="el" href="_c_l_im2_col_kernel_8cpp_source.xhtml#l00353">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#l00223">CLSobel5x5VertKernel::run()</a>, <a class="el" href="_c_l_sobel7x7_kernel_8cpp_source.xhtml#l00225">CLSobel7x7VertKernel::run()</a>, <a class="el" href="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00182">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_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00377">CLComplexPixelWiseMultiplicationKernel::run()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00273">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#l00303">CLLogits1DMaxShiftExpSumKernel::run()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00339">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#l00386">CLLogits1DNormKernel::run()</a>.</p>
</div>
</div>
@@ -13189,11 +13753,11 @@
</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>
+<p class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00873">873</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.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>  <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="l00877"></a><span class="lineno"> 877</span> </div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>  <span class="keyword">const</span> std::array<T, <span class="keyword">sizeof</span>...(Ts)> channels_array{ { std::forward<Ts>(channels)... } };</div><div class="line"><a name="l00879"></a><span class="lineno"> 879</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="l00880"></a><span class="lineno"> 880</span>  {</div><div class="line"><a name="l00881"></a><span class="lineno"> 881</span>  <span class="keywordflow">return</span> f == cn;</div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span>  }),</div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>  <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00884"></a><span class="lineno"> 884</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="l00885"></a><span class="lineno"> 885</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#l00306">Error.h:306</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">References <a class="el" href="_error_8h_source.xhtml#l00306">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>
@@ -13257,10 +13821,10 @@
<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>
-<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="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#a94b64f1b45be794e8304c238e90be6b0">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="_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#l00306">Error.h:306</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>
@@ -13268,7 +13832,8 @@
<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_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#l00873">Validate.h:873</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a94b64f1b45be794e8304c238e90be6b0"><div class="ttname"><a href="_error_8h.xhtml#a94b64f1b45be794e8304c238e90be6b0">ARM_COMPUTE_ERROR_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_LOC(func, file, line, msg)</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#l00372">Error.h:372</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>
@@ -13276,10 +13841,9 @@
<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><!-- 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>
+<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="_error_8h_source.xhtml#l00372">ARM_COMPUTE_ERROR_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00306">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#l00873">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>
@@ -13342,11 +13906,11 @@
<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>
-<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="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#l00306">Error.h:306</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>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00306">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>
@@ -13422,16 +13986,16 @@
</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>
-<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>
+<p class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00709">709</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00711"></a><span class="lineno"> 711</span> {</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>  <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="l00713"></a><span class="lineno"> 713</span> </div><div class="line"><a name="l00714"></a><span class="lineno"> 714</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="l00715"></a><span class="lineno"> 715</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="l00716"></a><span class="lineno"> 716</span> </div><div class="line"><a name="l00717"></a><span class="lineno"> 717</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="l00718"></a><span class="lineno"> 718</span>  <a class="code" href="_error_8h.xhtml#a5e3e8db314706c6f3d822bafa3d8d761">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG_VAR</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="l00719"></a><span class="lineno"> 719</span>  {</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>  <span class="keywordflow">return</span> l == tensor_dl;</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="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="l00723"></a><span class="lineno"> 723</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="l00724"></a><span class="lineno"> 724</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#l00306">Error.h:306</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="_error_8h_xhtml_a5e3e8db314706c6f3d822bafa3d8d761"><div class="ttname"><a href="_error_8h.xhtml#a5e3e8db314706c6f3d822bafa3d8d761">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG_VAR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG_VAR(cond, func, file, line, msg,...)</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#l00263">Error.h:263</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#l00114">Types.h:114</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#l00116">Types.h:116</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">References <a class="el" href="_error_8h_source.xhtml#l00306">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00263">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG_VAR</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>
+<p class="reference">Referenced by <a class="el" href="_validate_8h_source.xhtml#l00737">error_on_data_layout_not_in()</a>.</p>
</div>
</div>
@@ -13507,13 +14071,13 @@
</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>
-<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>
+<p class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00737">737</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00739"></a><span class="lineno"> 739</span> {</div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>  <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="l00741"></a><span class="lineno"> 741</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="l00742"></a><span class="lineno"> 742</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="l00743"></a><span class="lineno"> 743</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#l00306">Error.h:306</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#l00204">Error.h:204</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 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#l00709">Validate.h:709</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>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00306">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00204">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00709">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>
@@ -13596,15 +14160,15 @@
</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>
+<p class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00762">762</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</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>  <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="l00766"></a><span class="lineno"> 766</span>  <span class="keyword">const</span> <span class="keywordtype">size_t</span> tensor_nc = tensor_info->num_channels();</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>  <a class="code" href="_error_8h.xhtml#a5e3e8db314706c6f3d822bafa3d8d761">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG_VAR</a>(tensor_nc != num_channels, <span class="keyword">function</span>, file, line, <span class="stringliteral">"Number of channels %zu. Required number of channels %zu"</span>, tensor_nc, num_channels);</div><div class="line"><a name="l00768"></a><span class="lineno"> 768</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="l00769"></a><span class="lineno"> 769</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#l00204">Error.h:204</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 class="ttc" id="_error_8h_xhtml_a5e3e8db314706c6f3d822bafa3d8d761"><div class="ttname"><a href="_error_8h.xhtml#a5e3e8db314706c6f3d822bafa3d8d761">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG_VAR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG_VAR(cond, func, file, line, msg,...)</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#l00263">Error.h:263</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#l00657">Validate.h:657</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">References <a class="el" href="_error_8h_source.xhtml#l00263">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG_VAR</a>, <a class="el" href="_error_8h_source.xhtml#l00204">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00657">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>
+<p class="reference">Referenced by <a class="el" href="_validate_8h_source.xhtml#l00783">error_on_data_type_channel_not_in()</a>.</p>
</div>
</div>
@@ -13687,13 +14251,13 @@
</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>
-<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>
+<p class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00783">783</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+<div class="fragment"><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>  <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="l00787"></a><span class="lineno"> 787</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="l00788"></a><span class="lineno"> 788</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="l00789"></a><span class="lineno"> 789</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#l00306">Error.h:306</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#l00204">Error.h:204</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#l00783">Validate.h:783</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>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00306">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00204">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00762">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>
@@ -13769,16 +14333,16 @@
</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>
-<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>
+<p class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00657">657</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+<div class="fragment"><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>  <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="l00661"></a><span class="lineno"> 661</span> </div><div class="line"><a name="l00662"></a><span class="lineno"> 662</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="l00663"></a><span class="lineno"> 663</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="l00664"></a><span class="lineno"> 664</span> </div><div class="line"><a name="l00665"></a><span class="lineno"> 665</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="l00666"></a><span class="lineno"> 666</span>  <a class="code" href="_error_8h.xhtml#a5e3e8db314706c6f3d822bafa3d8d761">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG_VAR</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="l00667"></a><span class="lineno"> 667</span>  {</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>  <span class="keywordflow">return</span> d == tensor_dt;</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>  }),</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</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="l00671"></a><span class="lineno"> 671</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="l00672"></a><span class="lineno"> 672</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#l00306">Error.h:306</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="_error_8h_xhtml_a5e3e8db314706c6f3d822bafa3d8d761"><div class="ttname"><a href="_error_8h.xhtml#a5e3e8db314706c6f3d822bafa3d8d761">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG_VAR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG_VAR(cond, func, file, line, msg,...)</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#l00263">Error.h:263</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">References <a class="el" href="_error_8h_source.xhtml#l00306">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00263">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG_VAR</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>
+<p class="reference">Referenced by <a class="el" href="_validate_8h_source.xhtml#l00762">error_on_data_type_channel_not_in()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00685">error_on_data_type_not_in()</a>.</p>
</div>
</div>
@@ -13854,13 +14418,13 @@
</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>
-<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>
+<p class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00685">685</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00687"></a><span class="lineno"> 687</span> {</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>  <a class="code" href="_error_8h.xhtml#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="l00689"></a><span class="lineno"> 689</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="l00690"></a><span class="lineno"> 690</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="l00691"></a><span class="lineno"> 691</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#l00306">Error.h:306</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#l00204">Error.h:204</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 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#l00657">Validate.h:657</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>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00306">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00204">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00657">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>
@@ -13928,13 +14492,13 @@
</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>
-<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="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>  <a class="code" href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(<span class="keyword">function</span>, format, file, line);</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</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#l00458">Error.h:458</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#l00152">Error.h:152</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="_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#l00476">Error.h:476</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>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00476">ARM_COMPUTE_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00458">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00152">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>
@@ -13995,12 +14559,12 @@
<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>
-<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="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#a3cbe27c31092df3dc1fa26c75f47e047">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#a3cbe27c31092df3dc1fa26c75f47e047">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#a3cbe27c31092df3dc1fa26c75f47e047">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_a3cbe27c31092df3dc1fa26c75f47e047"><div class="ttname"><a href="_error_8h.xhtml#a3cbe27c31092df3dc1fa26c75f47e047">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line, msg)</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#l00283">Error.h:283</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#l00306">Error.h:306</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>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00306">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00283">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>
@@ -14070,10 +14634,10 @@
<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>
<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="_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#l00306">Error.h:306</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>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00306">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>
@@ -14135,13 +14699,13 @@
<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>
-<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#l00247">Types.h:247</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="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#l00256">Types.h:256</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#l00306">Error.h:306</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#l00246">Types.h:246</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#l00255">Types.h:255</a></div></div>
</div><!-- fragment -->
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00246">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#l00247">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>
+<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00255">ValidRegion::anchor</a>, <a class="el" href="_error_8h_source.xhtml#l00306">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00256">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>
@@ -14208,14 +14772,14 @@
<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>
-<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].<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="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].<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#l00306">Error.h:306</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 CLSaturatedArithmeticOpe...</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_elementwise_operations_8cpp_source.xhtml#l00071">CLElementwiseOperations.cpp:71</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">CLArithmeticSubtraction sub</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00223">ArithmeticSubtraction.cpp:223</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="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00223">arm_compute::test::validation::sub</a>, <a class="el" href="_c_l_elementwise_operations_8cpp_source.xhtml#l00071">CLArithmeticSubtraction::validate()</a>, and <a class="el" href="_window_8inl_source.xhtml#l00159">Window::validate()</a>.</p>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00306">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="_c_l_2_arithmetic_subtraction_8cpp_source.xhtml#l00223">arm_compute::test::validation::sub</a>, <a class="el" href="_c_l_elementwise_operations_8cpp_source.xhtml#l00071">CLArithmeticSubtraction::validate()</a>, and <a class="el" href="_window_8inl_source.xhtml#l00173">Window::validate()</a>.</p>
</div>
</div>
@@ -14285,14 +14849,14 @@
<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="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#a3cbe27c31092df3dc1fa26c75f47e047">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_a3cbe27c31092df3dc1fa26c75f47e047"><div class="ttname"><a href="_error_8h.xhtml#a3cbe27c31092df3dc1fa26c75f47e047">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line, msg)</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#l00283">Error.h:283</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#l00306">Error.h:306</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#l00204">Error.h:204</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#l00114">Types.h:114</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#l00116">Types.h:116</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">References <a class="el" href="_error_8h_source.xhtml#l00306">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00283">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00204">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>
@@ -14364,13 +14928,13 @@
<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>
-<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="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#l00306">Error.h:306</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#l00204">Error.h:204</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>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00306">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00204">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>
@@ -14440,14 +15004,14 @@
<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="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#a3cbe27c31092df3dc1fa26c75f47e047">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_a3cbe27c31092df3dc1fa26c75f47e047"><div class="ttname"><a href="_error_8h.xhtml#a3cbe27c31092df3dc1fa26c75f47e047">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line, msg)</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#l00283">Error.h:283</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#l00306">Error.h:306</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#l00204">Error.h:204</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">References <a class="el" href="_error_8h_source.xhtml#l00306">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00283">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00204">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>
@@ -14519,13 +15083,13 @@
<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>
-<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="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#l00306">Error.h:306</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#l00204">Error.h:204</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>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00306">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00204">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>
@@ -14594,11 +15158,11 @@
<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>
-<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="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#l00204">Error.h:204</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>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00204">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>
@@ -14676,12 +15240,12 @@
<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>
-<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#a0bee325b210f81bb89fe1f9e15badf9c">is_data_type_quantized</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="namespacearm__compute_xhtml_a0bee325b210f81bb89fe1f9e15badf9c"><div class="ttname"><a href="namespacearm__compute.xhtml#a0bee325b210f81bb89fe1f9e15badf9c">arm_compute::is_data_type_quantized</a></div><div class="ttdeci">bool is_data_type_quantized(DataType dt)</div><div class="ttdoc">Check if a given data type is of quantized type.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l01010">Utils.h:1010</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="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#a0bee325b210f81bb89fe1f9e15badf9c">is_data_type_quantized</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#a3cbe27c31092df3dc1fa26c75f47e047">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#a3cbe27c31092df3dc1fa26c75f47e047">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="namespacearm__compute_xhtml_a0bee325b210f81bb89fe1f9e15badf9c"><div class="ttname"><a href="namespacearm__compute.xhtml#a0bee325b210f81bb89fe1f9e15badf9c">arm_compute::is_data_type_quantized</a></div><div class="ttdeci">bool is_data_type_quantized(DataType dt)</div><div class="ttdoc">Check if a given data type is of quantized type.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l01022">Utils.h:1022</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a3cbe27c31092df3dc1fa26c75f47e047"><div class="ttname"><a href="_error_8h.xhtml#a3cbe27c31092df3dc1fa26c75f47e047">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line, msg)</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#l00283">Error.h:283</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#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#l01010">is_data_type_quantized()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a3f3e1a3200223e6a304a533b1016e749">ITensorInfo::quantization_info()</a>.</p>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00283">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#l01022">is_data_type_quantized()</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>
@@ -14761,11 +15325,11 @@
<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>
-<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="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#l00204">Error.h:204</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>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00204">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>
@@ -15011,14 +15575,14 @@
<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>
-<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="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#a3cbe27c31092df3dc1fa26c75f47e047">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_a3cbe27c31092df3dc1fa26c75f47e047"><div class="ttname"><a href="_error_8h.xhtml#a3cbe27c31092df3dc1fa26c75f47e047">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line, msg)</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#l00283">Error.h:283</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#l00306">Error.h:306</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#l00204">Error.h:204</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>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00306">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00283">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00204">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>
@@ -15102,13 +15666,13 @@
<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>
-<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="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#l00306">Error.h:306</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#l00204">Error.h:204</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>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00306">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00204">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>
@@ -15175,12 +15739,12 @@
<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>
-<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="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#l00306">Error.h:306</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#l00159">Window::validate()</a>.</p>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00306">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#l00173">Window::validate()</a>.</p>
</div>
</div>
@@ -15243,10 +15807,10 @@
<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="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#a3cbe27c31092df3dc1fa26c75f47e047">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_a3cbe27c31092df3dc1fa26c75f47e047"><div class="ttname"><a href="_error_8h.xhtml#a3cbe27c31092df3dc1fa26c75f47e047">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line, msg)</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#l00283">Error.h:283</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">References <a class="el" href="_error_8h_source.xhtml#l00283">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>
@@ -15303,11 +15867,11 @@
<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="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#a5e3e8db314706c6f3d822bafa3d8d761">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG_VAR</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 (%zu 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_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#l00306">Error.h:306</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="_error_8h_xhtml_a5e3e8db314706c6f3d822bafa3d8d761"><div class="ttname"><a href="_error_8h.xhtml#a5e3e8db314706c6f3d822bafa3d8d761">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG_VAR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG_VAR(cond, func, file, line, msg,...)</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#l00263">Error.h:263</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">References <a class="el" href="_error_8h_source.xhtml#l00306">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00263">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG_VAR</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>
</div>
</div>
@@ -15362,11 +15926,11 @@
<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>
-<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="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#a5e3e8db314706c6f3d822bafa3d8d761">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG_VAR</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 (%zu 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_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#l00306">Error.h:306</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="_error_8h_xhtml_a5e3e8db314706c6f3d822bafa3d8d761"><div class="ttname"><a href="_error_8h.xhtml#a5e3e8db314706c6f3d822bafa3d8d761">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG_VAR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG_VAR(cond, func, file, line, msg,...)</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#l00263">Error.h:263</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>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00306">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00263">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG_VAR</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a1f4e725b8e1ea36b30e09dc08ae6961d">ITensorInfo::num_dimensions()</a>.</p>
</div>
</div>
@@ -15435,15 +15999,15 @@
<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>
-<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="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#a3cbe27c31092df3dc1fa26c75f47e047">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_a3cbe27c31092df3dc1fa26c75f47e047"><div class="ttname"><a href="_error_8h.xhtml#a3cbe27c31092df3dc1fa26c75f47e047">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line, msg)</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#l00283">Error.h:283</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#l00306">Error.h:306</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#l00204">Error.h:204</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#l00657">Utils.h:657</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#l00663">Utils.h:663</a></div></div>
</div><!-- fragment -->
-<p class="reference">References <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00657">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>
+<p class="reference">References <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00663">adjust_odd_shape()</a>, <a class="el" href="_error_8h_source.xhtml#l00306">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00283">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00204">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>
@@ -15519,16 +16083,16 @@
<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>
-<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#l00684">Utils.h:684</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="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#a3cbe27c31092df3dc1fa26c75f47e047">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_a3cbe27c31092df3dc1fa26c75f47e047"><div class="ttname"><a href="_error_8h.xhtml#a3cbe27c31092df3dc1fa26c75f47e047">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line, msg)</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#l00283">Error.h:283</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#l00690">Utils.h:690</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#l00306">Error.h:306</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#l00204">Error.h:204</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#l00684">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>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00306">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00283">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00204">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00690">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>
@@ -15583,11 +16147,11 @@
<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>
-<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="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#a3cbe27c31092df3dc1fa26c75f47e047">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_a3cbe27c31092df3dc1fa26c75f47e047"><div class="ttname"><a href="_error_8h.xhtml#a3cbe27c31092df3dc1fa26c75f47e047">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line, msg)</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#l00283">Error.h:283</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#l00306">Error.h:306</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#l00097">Window::Dimension::end()</a>, <a class="el" href="_window_8h_source.xhtml#l00092">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00102">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#l00143">Window::x()</a>.</p>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00306">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00283">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_window_8h_source.xhtml#l00097">Window::Dimension::end()</a>, <a class="el" href="_window_8h_source.xhtml#l00092">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00102">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#l00143">Window::x()</a>.</p>
</div>
</div>
@@ -15650,11 +16214,11 @@
<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="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#a3cbe27c31092df3dc1fa26c75f47e047">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_a3cbe27c31092df3dc1fa26c75f47e047"><div class="ttname"><a href="_error_8h.xhtml#a3cbe27c31092df3dc1fa26c75f47e047">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line, msg)</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#l00283">Error.h:283</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#l00306">Error.h:306</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">References <a class="el" href="_error_8h_source.xhtml#l00306">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00283">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>
@@ -15719,12 +16283,12 @@
<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>
-<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="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#l00306">Error.h:306</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#l00204">Error.h:204</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>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00306">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00204">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>
@@ -15793,14 +16357,14 @@
</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>
+<p class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00805">805</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00807"></a><span class="lineno"> 807</span> {</div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>  <a class="code" href="_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="l00809"></a><span class="lineno"> 809</span>  <a class="code" href="_error_8h.xhtml#a3cbe27c31092df3dc1fa26c75f47e047">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>((tensor_info->data_type() == DataType::F16 && !is_fp16_supported),</div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>  <span class="keyword">function</span>, file, line, <span class="stringliteral">"FP16 not supported by the device"</span>);</div><div class="line"><a name="l00811"></a><span class="lineno"> 811</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="l00812"></a><span class="lineno"> 812</span> }</div><div class="ttc" id="_error_8h_xhtml_a3cbe27c31092df3dc1fa26c75f47e047"><div class="ttname"><a href="_error_8h.xhtml#a3cbe27c31092df3dc1fa26c75f47e047">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line, msg)</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#l00283">Error.h:283</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#l00306">Error.h:306</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">References <a class="el" href="_error_8h_source.xhtml#l00306">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00283">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>
+<p class="reference">Referenced by <a class="el" href="_validate_8h_source.xhtml#l00824">error_on_unsupported_fp16()</a>.</p>
</div>
</div>
@@ -15869,13 +16433,13 @@
</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>
-<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>
+<p class="definition">Definition at line <a class="el" href="_validate_8h_source.xhtml#l00824">824</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00826"></a><span class="lineno"> 826</span> {</div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>  <a class="code" href="_error_8h.xhtml#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="l00828"></a><span class="lineno"> 828</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="l00829"></a><span class="lineno"> 829</span>  <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span> }</div><div class="ttc" id="_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#l00306">Error.h:306</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#l00204">Error.h:204</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#l00805">Validate.h:805</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>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00306">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00204">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00805">error_on_unsupported_fp16()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
</div>
</div>
@@ -15931,11 +16495,11 @@
<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>
-<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="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#a1f6cdb912f3c70a81f27c62ff3f1c569">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="ttc" id="_error_8h_xhtml_a1f6cdb912f3c70a81f27c62ff3f1c569"><div class="ttname"><a href="_error_8h.xhtml#a1f6cdb912f3c70a81f27c62ff3f1c569">ARM_COMPUTE_CREATE_ERROR_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_CREATE_ERROR_LOC(error_code, func, file, line, msg)</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#l00169">Error.h:169</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#l01037">CLKernelLibrary::get()</a>, and <a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa0ffe8be9137815d1266845a195c053c7">UNSUPPORTED_EXTENSION_USE</a>.</p>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00169">ARM_COMPUTE_CREATE_ERROR_LOC</a>, <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l01064">CLKernelLibrary::get()</a>, and <a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa0ffe8be9137815d1266845a195c053c7">UNSUPPORTED_EXTENSION_USE</a>.</p>
</div>
</div>
@@ -15998,12 +16562,12 @@
<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>
-<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="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#a5e3e8db314706c6f3d822bafa3d8d761">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG_VAR</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="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="_error_8h_xhtml_a5e3e8db314706c6f3d822bafa3d8d761"><div class="ttname"><a href="_error_8h.xhtml#a5e3e8db314706c6f3d822bafa3d8d761">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG_VAR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG_VAR(cond, func, file, line, msg,...)</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#l00263">Error.h:263</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>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00263">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG_VAR</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>
@@ -16073,10 +16637,10 @@
<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>
-<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="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#l00306">Error.h:306</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#l00159">Window::validate()</a>.</p>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00306">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, and <a class="el" href="_window_8inl_source.xhtml#l00173">Window::validate()</a>.</p>
</div>
</div>
@@ -16131,19 +16695,19 @@
</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>
-<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>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a1a367830ae09bf6138df822888ec1d71">w</a>.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>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a1a367830ae09bf6138df822888ec1d71">w</a>[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(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a1a367830ae09bf6138df822888ec1d71">w</a>, <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="namespacearm__compute_1_1test_1_1validation_xhtml_a1a367830ae09bf6138df822888ec1d71"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a1a367830ae09bf6138df822888ec1d71">arm_compute::test::validation::w</a></div><div class="ttdeci">SimpleTensor< float > w</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_2_d_f_t_8cpp_source.xhtml#l00156">DFT.cpp:156</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>
+<p class="definition">Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00123">123</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</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>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a1a367830ae09bf6138df822888ec1d71">w</a>.validate();</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="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="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>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a1a367830ae09bf6138df822888ec1d71">w</a>[i].<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a75b73e17c4ebe901e44af3b2b9846ab3">step</a>() == 0);</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> </div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  Coordinates id;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  ForEachDimension<Coordinates::num_max_dimensions>::unroll(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a1a367830ae09bf6138df822888ec1d71">w</a>, <span class="keywordtype">id</span>, std::forward<L>(lambda_function), std::forward<Ts>(iterators)...);</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a1a367830ae09bf6138df822888ec1d71"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a1a367830ae09bf6138df822888ec1d71">arm_compute::test::validation::w</a></div><div class="ttdeci">SimpleTensor< float > w</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_2_d_f_t_8cpp_source.xhtml#l00156">DFT.cpp:156</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#l00466">Error.h:466</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="_c_p_p_2_d_f_t_8cpp_source.xhtml#l00156">arm_compute::test::validation::w</a>.</p>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00466">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="_c_p_p_2_d_f_t_8cpp_source.xhtml#l00156">arm_compute::test::validation::w</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#l00789">arm_compute::utils::compare_tensor()</a>, <a class="el" href="_i_tensor_8cpp_source.xhtml#l00035">ITensor::copy_from()</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#l00896">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#l00722">arm_compute::utils::fill_random_tensor()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00399">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#l00675">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_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_memset_kernel_8cpp_source.xhtml#l00051">NEMemsetKernel::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="_c_p_p_upsample_kernel_8cpp_source.xhtml#l00068">CPPUpsampleKernel::run()</a>, <a class="el" href="_n_e_fast_corners_kernel_8cpp_source.xhtml#l00389">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="_n_e_sobel5x5_kernel_8cpp_source.xhtml#l00093">NESobel5x5HorKernel::run()</a>, <a class="el" href="_n_e_copy_kernel_8cpp_source.xhtml#l00057">NECopyKernel::run()</a>, <a class="el" href="_n_e_sobel7x7_kernel_8cpp_source.xhtml#l00196">NESobel7x7HorKernel::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_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_canny_edge_kernel_8cpp_source.xhtml#l00942">NEGradientKernel::run()</a>, <a class="el" href="_n_e_tile_kernel_8cpp_source.xhtml#l00089">NETileKernel::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_depth_to_space_layer_kernel_8cpp_source.xhtml#l00096">NEDepthToSpaceLayerKernel::run()</a>, <a class="el" href="_n_e_space_to_depth_layer_kernel_8cpp_source.xhtml#l00097">NESpaceToDepthLayerKernel::run()</a>, <a class="el" href="_n_e_f_f_t_scale_kernel_8cpp_source.xhtml#l00118">NEFFTScaleKernel::run()</a>, <a class="el" href="_n_e_flatten_layer_kernel_8cpp_source.xhtml#l00104">NEFlattenLayerKernel::run()</a>, <a class="el" href="_n_e_reorg_layer_kernel_8cpp_source.xhtml#l00105">NEReorgLayerKernel::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_height_concatenate_layer_kernel_8cpp_source.xhtml#l00108">NEHeightConcatenateLayerKernel::run()</a>, <a class="el" href="_n_e_width_concatenate_layer_kernel_8cpp_source.xhtml#l00108">NEWidthConcatenateLayerKernel::run()</a>, <a class="el" href="_n_e_gaussian5x5_kernel_8cpp_source.xhtml#l00144">NEGaussian5x5VertKernel::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_depth_convert_layer_kernel_8cpp_source.xhtml#l00132">NEDepthConvertLayerKernel::run()</a>, <a class="el" href="_n_e_f_f_t_radix_stage_kernel_8cpp_source.xhtml#l01040">NEFFTRadixStageKernel::run()</a>, <a class="el" href="_n_e_stack_layer_kernel_8cpp_source.xhtml#l00118">NEStackLayerKernel::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#l00694">NEPixelWiseMultiplicationKernel::run()</a>, <a class="el" href="_n_e_batch_to_space_layer_kernel_8cpp_source.xhtml#l00136">NEBatchToSpaceLayerKernel::run()</a>, <a class="el" href="_n_e_g_e_m_m_transpose1x_w_kernel_8cpp_source.xhtml#l00123">NEGEMMTranspose1xWKernel::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_g_e_m_m_lowp_reduction_kernel_8cpp_source.xhtml#l00131">NEGEMMLowpMatrixAReductionKernel::run()</a>, <a class="el" href="_n_e_space_to_batch_layer_kernel_8cpp_source.xhtml#l00142">NESpaceToBatchLayerKernel::run()</a>, <a class="el" href="_n_e_gaussian_pyramid_kernel_8cpp_source.xhtml#l00208">NEGaussianPyramidVertKernel::run()</a>, <a class="el" href="_n_e_weights_reshape_kernel_8cpp_source.xhtml#l00125">NEWeightsReshapeKernel::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_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00874">NEComplexPixelWiseMultiplicationKernel::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#l00102">run_reverse()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00540">arm_compute::utils::save_to_ppm()</a>, <a class="el" href="_slice_operations_8cpp_source.xhtml#l00038">arm_compute::test::validation::reference::slice()</a>, <a class="el" href="_slice_operations_8cpp_source.xhtml#l00080">arm_compute::test::validation::reference::strided_slice()</a>, and <a class="el" href="tests_2validation_2_n_e_o_n_2_u_n_i_t_2_tensor_allocator_8cpp_source.xhtml#l00145">arm_compute::test::validation::TEST_CASE()</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#l00795">arm_compute::utils::compare_tensor()</a>, <a class="el" href="_i_tensor_8cpp_source.xhtml#l00035">ITensor::copy_from()</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00475">AssetsLibrary::fill_borders_with_garbage()</a>, <a class="el" href="_image_loader_8h_source.xhtml#l00177">IImageLoader::fill_image()</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00931">AssetsLibrary::fill_layer_data()</a>, <a class="el" href="_image_loader_8h_source.xhtml#l00257">IImageLoader::fill_planar_tensor()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00728">arm_compute::utils::fill_random_tensor()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00405">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#l00681">arm_compute::utils::load_trained_data()</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_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_memset_kernel_8cpp_source.xhtml#l00051">NEMemsetKernel::run()</a>, <a class="el" href="_c_p_p_upsample_kernel_8cpp_source.xhtml#l00068">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_g_e_m_m_matrix_accumulate_biases_kernel_8cpp_source.xhtml#l00108">NEGEMMMatrixAccumulateBiasesKernel::run()</a>, <a class="el" href="_n_e_fill_array_kernel_8cpp_source.xhtml#l00065">NEFillArrayKernel::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_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="_n_e_convert_quantized_signedness_kernel_8cpp_source.xhtml#l00095">NEConvertQuantizedSignednessKernel::run()</a>, <a class="el" href="_c_p_p_corner_candidates_kernel_8cpp_source.xhtml#l00098">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_copy_kernel_8cpp_source.xhtml#l00117">NECopyKernel::run()</a>, <a class="el" href="_n_e_depth_to_space_layer_kernel_8cpp_source.xhtml#l00096">NEDepthToSpaceLayerKernel::run()</a>, <a class="el" href="_n_e_space_to_depth_layer_kernel_8cpp_source.xhtml#l00097">NESpaceToDepthLayerKernel::run()</a>, <a class="el" href="_n_e_f_f_t_scale_kernel_8cpp_source.xhtml#l00118">NEFFTScaleKernel::run()</a>, <a class="el" href="_n_e_reorg_layer_kernel_8cpp_source.xhtml#l00105">NEReorgLayerKernel::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#l00108">NEWidthConcatenateLayerKernel::run()</a>, <a class="el" href="_n_e_height_concatenate_layer_kernel_8cpp_source.xhtml#l00108">NEHeightConcatenateLayerKernel::run()</a>, <a class="el" href="_n_e_gaussian5x5_kernel_8cpp_source.xhtml#l00144">NEGaussian5x5VertKernel::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_depth_convert_layer_kernel_8cpp_source.xhtml#l00135">NEDepthConvertLayerKernel::run()</a>, <a class="el" href="_n_e_f_f_t_radix_stage_kernel_8cpp_source.xhtml#l01040">NEFFTRadixStageKernel::run()</a>, <a class="el" href="_n_e_stack_layer_kernel_8cpp_source.xhtml#l00118">NEStackLayerKernel::run()</a>, <a class="el" href="_n_e_accumulate_kernel_8cpp_source.xhtml#l00305">NEAccumulateWeightedKernel::run()</a>, <a class="el" href="_n_e_batch_to_space_layer_kernel_8cpp_source.xhtml#l00136">NEBatchToSpaceLayerKernel::run()</a>, <a class="el" href="_n_e_g_e_m_m_transpose1x_w_kernel_8cpp_source.xhtml#l00123">NEGEMMTranspose1xWKernel::run()</a>, <a class="el" href="_n_e_space_to_batch_layer_kernel_8cpp_source.xhtml#l00142">NESpaceToBatchLayerKernel::run()</a>, <a class="el" href="_n_e_gaussian_pyramid_kernel_8cpp_source.xhtml#l00208">NEGaussianPyramidVertKernel::run()</a>, <a class="el" href="_n_e_weights_reshape_kernel_8cpp_source.xhtml#l00125">NEWeightsReshapeKernel::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_accumulate_kernel_8cpp_source.xhtml#l00348">NEAccumulateSquaredKernel::run()</a>, <a class="el" href="_n_e_reverse_kernel_8cpp_source.xhtml#l00102">run_reverse()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00546">arm_compute::utils::save_to_ppm()</a>, <a class="el" href="_slice_operations_8cpp_source.xhtml#l00038">arm_compute::test::validation::reference::slice()</a>, <a class="el" href="_slice_operations_8cpp_source.xhtml#l00080">arm_compute::test::validation::reference::strided_slice()</a>, and <a class="el" href="tests_2validation_2_n_e_o_n_2_u_n_i_t_2_runtime_context_8cpp_source.xhtml#l00099">arm_compute::test::validation::TEST_CASE()</a>.</p>
</div>
</div>
<a id="a695a8105065167f7e4596d31f23a3573"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a695a8105065167f7e4596d31f23a3573">◆ </a></span>finalize_quantization() <span class="overload">[1/2]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a695a8105065167f7e4596d31f23a3573">◆ </a></span>finalize_quantization() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -16213,14 +16777,14 @@
<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#l00064">64</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="l00070"></a><span class="lineno"> 70</span> {</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</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="l00072"></a><span class="lineno"> 72</span> </div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="comment">// Fixed point multiplication with vector saturating rounding doubling multiply high with scalar</span></div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  in_s32.val[0] = vqrdmulhq_n_s32(in_s32.val[0], result_fixedpoint_multiplier);</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  in_s32.val[1] = vqrdmulhq_n_s32(in_s32.val[1], result_fixedpoint_multiplier);</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  in_s32.val[2] = vqrdmulhq_n_s32(in_s32.val[2], result_fixedpoint_multiplier);</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  in_s32.val[3] = vqrdmulhq_n_s32(in_s32.val[3], result_fixedpoint_multiplier);</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="comment">// Round to the nearest division by a power-of-two using result_shift_s32</span></div><div class="line"><a name="l00080"></a><span class="lineno"> 80</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="l00081"></a><span class="lineno"> 81</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="l00082"></a><span class="lineno"> 82</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="l00083"></a><span class="lineno"> 83</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="l00084"></a><span class="lineno"> 84</span> </div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="comment">// Add the offset terms</span></div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  in_s32.val[0] = vaddq_s32(in_s32.val[0], result_offset_after_shift_s32);</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  in_s32.val[1] = vaddq_s32(in_s32.val[1], result_offset_after_shift_s32);</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  in_s32.val[2] = vaddq_s32(in_s32.val[2], result_offset_after_shift_s32);</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  in_s32.val[3] = vaddq_s32(in_s32.val[3], result_offset_after_shift_s32);</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="comment">// Saturate negative values</span></div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  in_s32.val[0] = vmaxq_s32(in_s32.val[0], zero_s32);</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  in_s32.val[1] = vmaxq_s32(in_s32.val[1], zero_s32);</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  in_s32.val[2] = vmaxq_s32(in_s32.val[2], zero_s32);</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  in_s32.val[3] = vmaxq_s32(in_s32.val[3], zero_s32);</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">// Convert S32 to S16</span></div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keyword">const</span> int16x8x2_t in_s16 =</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>  {</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  vcombine_s16(vqmovn_s32(in_s32.val[0]), vqmovn_s32(in_s32.val[1])),</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  vcombine_s16(vqmovn_s32(in_s32.val[2]), vqmovn_s32(in_s32.val[3]))</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  }</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  };</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">// Convert S16 to U8</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</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="l00108"></a><span class="lineno"> 108</span> </div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keywordflow">if</span>(is_bounded_relu)</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>  out_u8 = vmaxq_u8(out_u8, min_u8);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  out_u8 = vminq_u8(out_u8, max_u8);</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>  <span class="keywordflow">return</span> out_u8;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</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_math_8inl_source.xhtml#l00294">NEMath.inl:294</a></div></div>
+<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="keyword">const</span> <span class="keyword">static</span> int32x4_t zero_s32 = vdupq_n_s32(0);</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">// Fixed point multiplication with vector saturating rounding doubling multiply high with scalar</span></div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  in_s32.val[0] = vqrdmulhq_n_s32(in_s32.val[0], result_fixedpoint_multiplier);</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  in_s32.val[1] = vqrdmulhq_n_s32(in_s32.val[1], result_fixedpoint_multiplier);</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  in_s32.val[2] = vqrdmulhq_n_s32(in_s32.val[2], result_fixedpoint_multiplier);</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  in_s32.val[3] = vqrdmulhq_n_s32(in_s32.val[3], result_fixedpoint_multiplier);</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="comment">// Round to the nearest division by a power-of-two using result_shift_s32</span></div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  in_s32.val[0] = <a class="code" href="namespacearm__compute.xhtml#a77e02c19b498c3ff4ee373b0825cfd19">rounding_divide_by_pow2</a>(in_s32.val[0], result_shift);</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  in_s32.val[1] = <a class="code" href="namespacearm__compute.xhtml#a77e02c19b498c3ff4ee373b0825cfd19">rounding_divide_by_pow2</a>(in_s32.val[1], result_shift);</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  in_s32.val[2] = <a class="code" href="namespacearm__compute.xhtml#a77e02c19b498c3ff4ee373b0825cfd19">rounding_divide_by_pow2</a>(in_s32.val[2], result_shift);</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  in_s32.val[3] = <a class="code" href="namespacearm__compute.xhtml#a77e02c19b498c3ff4ee373b0825cfd19">rounding_divide_by_pow2</a>(in_s32.val[3], result_shift);</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="comment">// Add the offset terms</span></div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  in_s32.val[0] = vaddq_s32(in_s32.val[0], result_offset_after_shift_s32);</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  in_s32.val[1] = vaddq_s32(in_s32.val[1], result_offset_after_shift_s32);</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  in_s32.val[2] = vaddq_s32(in_s32.val[2], result_offset_after_shift_s32);</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  in_s32.val[3] = vaddq_s32(in_s32.val[3], result_offset_after_shift_s32);</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="comment">// Saturate negative values</span></div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  in_s32.val[0] = vmaxq_s32(in_s32.val[0], zero_s32);</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  in_s32.val[1] = vmaxq_s32(in_s32.val[1], zero_s32);</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  in_s32.val[2] = vmaxq_s32(in_s32.val[2], zero_s32);</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  in_s32.val[3] = vmaxq_s32(in_s32.val[3], zero_s32);</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">// Convert S32 to S16</span></div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keyword">const</span> int16x8x2_t in_s16 =</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>  {</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  vcombine_s16(vqmovn_s32(in_s32.val[0]), vqmovn_s32(in_s32.val[1])),</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  vcombine_s16(vqmovn_s32(in_s32.val[2]), vqmovn_s32(in_s32.val[3]))</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  }</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  };</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">// Convert S16 to U8</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</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="l00108"></a><span class="lineno"> 108</span> </div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keywordflow">if</span>(is_bounded_relu)</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>  out_u8 = vmaxq_u8(out_u8, min_u8);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  out_u8 = vminq_u8(out_u8, max_u8);</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>  <span class="keywordflow">return</span> out_u8;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a77e02c19b498c3ff4ee373b0825cfd19"><div class="ttname"><a href="namespacearm__compute.xhtml#a77e02c19b498c3ff4ee373b0825cfd19">arm_compute::rounding_divide_by_pow2</a></div><div class="ttdeci">int32x4_t rounding_divide_by_pow2(int32x4_t x, int32x4_t 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_math_8inl_source.xhtml#l00297">NEMath.inl:297</a></div></div>
</div><!-- fragment -->
-<p class="reference">References <a class="el" href="_n_e_math_8inl_source.xhtml#l00294">rounding_divide_by_pow2()</a>.</p>
+<p class="reference">References <a class="el" href="_n_e_math_8inl_source.xhtml#l00297">rounding_divide_by_pow2()</a>.</p>
</div>
</div>
<a id="a86f8bf876974759725e39496be2cc7f9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a86f8bf876974759725e39496be2cc7f9">◆ </a></span>finalize_quantization() <span class="overload">[2/2]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a86f8bf876974759725e39496be2cc7f9">◆ </a></span>finalize_quantization() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -16297,10 +16861,95 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Quantized value </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_n_e_asymm_8h_source.xhtml#l00132">132</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="l00135"></a><span class="lineno"> 135</span> {</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  int32x4_t in_s32 = vdupq_n_s32(in_value);</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="comment">// Fixed point multiplication with vector saturating rounding doubling multiply high with scalar</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  in_value = vgetq_lane_s32(vqrdmulhq_n_s32(in_s32, result_fixedpoint_multiplier), 0);</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">// Shift value by result_shift_s32</span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  in_value = <a class="code" href="namespacearm__compute.xhtml#a5e28a3911204ac952601f512c82b48f1">rounding_divide_by_pow2</a>(in_value, result_shift);</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="comment">// Add the offset term</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  in_value += result_offset_after_shift_s32;</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="comment">// Bound the result</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  uint8_t out_u8 = static_cast<uint8_t>(std::max<int32_t>(0, std::min<int32_t>(255, in_value)));</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordflow">if</span>(is_bounded_relu)</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>  out_u8 = static_cast<uint8_t>(std::max(min_u8, std::min(max_u8, out_u8)));</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> </div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordflow">return</span> out_u8;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</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_math_8inl_source.xhtml#l00294">NEMath.inl:294</a></div></div>
+<p class="definition">Definition at line <a class="el" href="_n_e_asymm_8h_source.xhtml#l00192">192</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="l00195"></a><span class="lineno"> 195</span> {</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  int32x4_t in_s32 = vdupq_n_s32(in_value);</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <span class="comment">// Fixed point multiplication with vector saturating rounding doubling multiply high with scalar</span></div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  in_value = vgetq_lane_s32(vqrdmulhq_n_s32(in_s32, result_fixedpoint_multiplier), 0);</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">// Shift value by result_shift_s32</span></div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  in_value = <a class="code" href="namespacearm__compute.xhtml#a77e02c19b498c3ff4ee373b0825cfd19">rounding_divide_by_pow2</a>(in_value, result_shift);</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="comment">// Add the offset term</span></div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  in_value += result_offset_after_shift_s32;</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">// Bound the result</span></div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  uint8_t out_u8 = static_cast<uint8_t>(std::max<int32_t>(0, std::min<int32_t>(255, in_value)));</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <span class="keywordflow">if</span>(is_bounded_relu)</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>  out_u8 = static_cast<uint8_t>(std::max(min_u8, std::min(max_u8, out_u8)));</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  }</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <span class="keywordflow">return</span> out_u8;</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a77e02c19b498c3ff4ee373b0825cfd19"><div class="ttname"><a href="namespacearm__compute.xhtml#a77e02c19b498c3ff4ee373b0825cfd19">arm_compute::rounding_divide_by_pow2</a></div><div class="ttdeci">int32x4_t rounding_divide_by_pow2(int32x4_t x, int32x4_t 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_math_8inl_source.xhtml#l00297">NEMath.inl:297</a></div></div>
</div><!-- fragment -->
-<p class="reference">References <a class="el" href="_n_e_math_8inl_source.xhtml#l00294">rounding_divide_by_pow2()</a>.</p>
+<p class="reference">References <a class="el" href="_n_e_math_8inl_source.xhtml#l00297">rounding_divide_by_pow2()</a>.</p>
+
+</div>
+</div>
+<a id="ae83b33be1e3199b67bf22a771eb298a2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae83b33be1e3199b67bf22a771eb298a2">◆ </a></span>finalize_quantization() <span class="overload">[3/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">int8_t arm_compute::finalize_quantization </td>
+ <td>(</td>
+ <td class="paramtype">int32_t </td>
+ <td class="paramname"><em>in_value</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int </td>
+ <td class="paramname"><em>result_fixedpoint_multiplier</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int32_t </td>
+ <td class="paramname"><em>result_shift</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int32_t </td>
+ <td class="paramname"><em>result_offset_after_shift_s32</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int8_t </td>
+ <td class="paramname"><em>min_s8</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int8_t </td>
+ <td class="paramname"><em>max_s8</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>Performs final quantization step on single element. </p>
+<dl class="tparams"><dt>Template Parameters</dt><dd>
+ <table class="tparams">
+ <tr><td class="paramname">is_bounded_relu</td><td>Specified if a fused bounded relu should be applied</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">in_value</td><td>Input to be quantized. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">result_fixedpoint_multiplier</td><td>Result multiplier parameter </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">result_shift</td><td>Result shift parameter </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">result_offset_after_shift_s32</td><td>Result offset parameter </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">min_s8</td><td>Relu lower bound </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">max_s8</td><td>Relu upper bound</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Quantized value </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="_n_e_asymm_8h_source.xhtml#l00231">231</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="l00234"></a><span class="lineno"> 234</span> {</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  int32x4_t in_s32 = vdupq_n_s32(in_value);</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="comment">// Fixed point multiplication with vector saturating rounding doubling multiply high with scalar</span></div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  in_value = vgetq_lane_s32(vqrdmulhq_n_s32(in_s32, result_fixedpoint_multiplier), 0);</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="comment">// Shift value by result_shift_s32</span></div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  in_value = <a class="code" href="namespacearm__compute.xhtml#a77e02c19b498c3ff4ee373b0825cfd19">rounding_divide_by_pow2</a>(in_value, result_shift);</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="comment">// Add the offset term</span></div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  in_value += result_offset_after_shift_s32;</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>  <span class="comment">// Bound the result</span></div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  int8_t out_s8 = static_cast<int8_t>(std::max<int32_t>(-128, std::min<int32_t>(127, in_value)));</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keywordflow">if</span>(is_bounded_relu)</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>  out_s8 = static_cast<int8_t>(std::max(min_s8, std::min(max_s8, out_s8)));</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> out_s8;</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a77e02c19b498c3ff4ee373b0825cfd19"><div class="ttname"><a href="namespacearm__compute.xhtml#a77e02c19b498c3ff4ee373b0825cfd19">arm_compute::rounding_divide_by_pow2</a></div><div class="ttdeci">int32x4_t rounding_divide_by_pow2(int32x4_t x, int32x4_t 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_math_8inl_source.xhtml#l00297">NEMath.inl:297</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_n_e_math_8inl_source.xhtml#l00297">rounding_divide_by_pow2()</a>.</p>
</div>
</div>
@@ -16368,9 +17017,9 @@
<dl class="section return"><dt>Returns</dt><dd>Quantized values </dd></dl>
<p class="definition">Definition at line <a class="el" href="_n_e_symm_8h_source.xhtml#l00051">51</a> of file <a class="el" href="_n_e_symm_8h_source.xhtml">NESymm.h</a>.</p>
-<div class="fragment"><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="comment">// Fixed point multiplication with vector saturating rounding doubling multiply high with scalar</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  in_s32.val[0] = vqrdmulhq_n_s32(in_s32.val[0], result_fixedpoint_multiplier);</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  in_s32.val[1] = vqrdmulhq_n_s32(in_s32.val[1], result_fixedpoint_multiplier);</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="comment">// Round to the nearest division by a power-of-two using result_shift_s32</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</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="l00063"></a><span class="lineno"> 63</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="l00064"></a><span class="lineno"> 64</span> </div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="comment">// Convert S32 to S16</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  int16x8_t out_s16 = vcombine_s16(vqmovn_s32(in_s32.val[0]), vqmovn_s32(in_s32.val[1]));</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>  <span class="keywordflow">if</span>(is_bounded_relu)</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>  out_s16 = vmaxq_s16(out_s16, min_s16);</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  out_s16 = vminq_s16(out_s16, max_s16);</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">return</span> out_s16;</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</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_math_8inl_source.xhtml#l00294">NEMath.inl:294</a></div></div>
+<div class="fragment"><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">if</span>(result_shift < 0)</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>  in_s32.val[0] = vmulq_n_s32(in_s32.val[0], (1 << -result_shift));</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  in_s32.val[1] = vmulq_n_s32(in_s32.val[1], (1 << -result_shift));</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>  in_s32.val[0] = vqrdmulhq_n_s32(in_s32.val[0], result_fixedpoint_multiplier);</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  in_s32.val[1] = vqrdmulhq_n_s32(in_s32.val[1], result_fixedpoint_multiplier);</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="comment">// Fixed point multiplication with vector saturating rounding doubling multiply high with scalar</span></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  in_s32.val[0] = vqrdmulhq_n_s32(in_s32.val[0], result_fixedpoint_multiplier);</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  in_s32.val[1] = vqrdmulhq_n_s32(in_s32.val[1], result_fixedpoint_multiplier);</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</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="l00071"></a><span class="lineno"> 71</span>  in_s32.val[0] = <a class="code" href="namespacearm__compute.xhtml#a77e02c19b498c3ff4ee373b0825cfd19">rounding_divide_by_pow2</a>(in_s32.val[0], result_shift);</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  in_s32.val[1] = <a class="code" href="namespacearm__compute.xhtml#a77e02c19b498c3ff4ee373b0825cfd19">rounding_divide_by_pow2</a>(in_s32.val[1], result_shift);</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  }</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="comment">// Convert S32 to S16</span></div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  int16x8_t out_s16 = vcombine_s16(vqmovn_s32(in_s32.val[0]), vqmovn_s32(in_s32.val[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>  <span class="keywordflow">if</span>(is_bounded_relu)</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>  out_s16 = vmaxq_s16(out_s16, min_s16);</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  out_s16 = vminq_s16(out_s16, max_s16);</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> </div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keywordflow">return</span> out_s16;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a77e02c19b498c3ff4ee373b0825cfd19"><div class="ttname"><a href="namespacearm__compute.xhtml#a77e02c19b498c3ff4ee373b0825cfd19">arm_compute::rounding_divide_by_pow2</a></div><div class="ttdeci">int32x4_t rounding_divide_by_pow2(int32x4_t x, int32x4_t 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_math_8inl_source.xhtml#l00297">NEMath.inl:297</a></div></div>
</div><!-- fragment -->
-<p class="reference">References <a class="el" href="_n_e_math_8inl_source.xhtml#l00294">rounding_divide_by_pow2()</a>.</p>
+<p class="reference">References <a class="el" href="_n_e_math_8inl_source.xhtml#l00297">rounding_divide_by_pow2()</a>.</p>
</div>
</div>
@@ -16445,10 +17094,95 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Quantized values </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_n_e_symm_8h_source.xhtml#l00090">90</a> of file <a class="el" href="_n_e_symm_8h_source.xhtml">NESymm.h</a>.</p>
-<div class="fragment"><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>  int32x4_t in_s32 = vdupq_n_s32(in_value);</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">// Fixed point multiplication with vector saturating rounding doubling multiply high with scalar</span></div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  in_value = vgetq_lane_s32(vqrdmulhq_n_s32(in_s32, result_fixedpoint_multiplier), 0);</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="comment">// Shift value by result_shift_s32</span></div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  in_value = <a class="code" href="namespacearm__compute.xhtml#a5e28a3911204ac952601f512c82b48f1">rounding_divide_by_pow2</a>(in_value, result_shift);</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">// Bound the result</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  int16_t out_s16 = static_cast<int16_t>(std::max<int32_t>(-32768, std::min<int32_t>(32767, in_value)));</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordflow">if</span>(is_bounded_relu)</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>  out_s16 = static_cast<int16_t>(std::max(min_s16, std::min(max_s16, out_s16)));</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> out_s16;</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</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_math_8inl_source.xhtml#l00294">NEMath.inl:294</a></div></div>
+<p class="definition">Definition at line <a class="el" href="_n_e_symm_8h_source.xhtml#l00100">100</a> of file <a class="el" href="_n_e_symm_8h_source.xhtml">NESymm.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00102"></a><span class="lineno"> 102</span> {</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordflow">if</span>(result_shift < 0)</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  {</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keyword">const</span> int64_t in_64 = static_cast<int64_t>(in_value) * (1 << (-result_shift)) * static_cast<int64_t>(result_fixedpoint_multiplier);</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  in_value = static_cast<int32_t>((in_64 + (1 << 30)) >> 31);</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">else</span></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="comment">// Fixed point multiplication with vector saturating rounding doubling multiply high with scalar</span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="keyword">const</span> int64_t in_64 = static_cast<int64_t>(in_value) * static_cast<int64_t>(result_fixedpoint_multiplier);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="comment">// Shift value by result_shift_s32</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  in_value = <a class="code" href="namespacearm__compute.xhtml#a77e02c19b498c3ff4ee373b0825cfd19">rounding_divide_by_pow2</a>(static_cast<int32_t>((in_64 + (1 << 30)) >> 31), result_shift);</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">// Bound the result</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  int16_t out_s16 = static_cast<int16_t>(std::max<int32_t>(-32768, std::min<int32_t>(32767, in_value)));</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_s16 = static_cast<int16_t>(std::max(min_s16, std::min(max_s16, out_s16)));</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> out_s16;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a77e02c19b498c3ff4ee373b0825cfd19"><div class="ttname"><a href="namespacearm__compute.xhtml#a77e02c19b498c3ff4ee373b0825cfd19">arm_compute::rounding_divide_by_pow2</a></div><div class="ttdeci">int32x4_t rounding_divide_by_pow2(int32x4_t x, int32x4_t 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_math_8inl_source.xhtml#l00297">NEMath.inl:297</a></div></div>
</div><!-- fragment -->
-<p class="reference">References <a class="el" href="_n_e_math_8inl_source.xhtml#l00294">rounding_divide_by_pow2()</a>.</p>
+<p class="reference">References <a class="el" href="_n_e_math_8inl_source.xhtml#l00297">rounding_divide_by_pow2()</a>.</p>
+
+</div>
+</div>
+<a id="a189eb85a92663706760a7afcc09f77a7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a189eb85a92663706760a7afcc09f77a7">◆ </a></span>finalize_quantization_symm()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">int8x16_t arm_compute::finalize_quantization_symm </td>
+ <td>(</td>
+ <td class="paramtype">int32x4x4_t & </td>
+ <td class="paramname"><em>in_s32</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const int32x4x4_t & </td>
+ <td class="paramname"><em>result_fixedpoint_multiplier</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const int32x4x4_t & </td>
+ <td class="paramname"><em>result_shift</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const int32x4_t & </td>
+ <td class="paramname"><em>result_offset_after_shift_s32</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const int8x16_t & </td>
+ <td class="paramname"><em>min_s8</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const int8x16_t & </td>
+ <td class="paramname"><em>max_s8</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>Performs final quantization step on 16 elements for symmetric quantization. </p>
+<dl class="tparams"><dt>Template Parameters</dt><dd>
+ <table class="tparams">
+ <tr><td class="paramname">is_bounded_relu</td><td>Specified if a fused bounded relu should be applied</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">in_s32</td><td>Input to be quantized. </td></tr>
+ <tr><td class="paramname">result_fixedpoint_multiplier</td><td>Result multiplier parameter </td></tr>
+ <tr><td class="paramname">result_shift</td><td>Result shift parameter </td></tr>
+ <tr><td class="paramname">result_offset_after_shift_s32</td><td>Result offset parameter </td></tr>
+ <tr><td class="paramname">min_s8</td><td>Relu lower bound </td></tr>
+ <tr><td class="paramname">max_s8</td><td>Relu upper bound</td></tr>
+ </table>
+ </dd>
+</dl>
+<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#l00132">132</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="l00138"></a><span class="lineno"> 138</span> {</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="comment">// Fixed point multiplication with vector saturating rounding doubling multiply high with scalar</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  in_s32.val[0] = vqrdmulhq_s32(in_s32.val[0], result_fixedpoint_multiplier.val[0]);</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  in_s32.val[1] = vqrdmulhq_s32(in_s32.val[1], result_fixedpoint_multiplier.val[1]);</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  in_s32.val[2] = vqrdmulhq_s32(in_s32.val[2], result_fixedpoint_multiplier.val[2]);</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  in_s32.val[3] = vqrdmulhq_s32(in_s32.val[3], result_fixedpoint_multiplier.val[3]);</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="comment">// Round to the nearest division by a power-of-two using result_shift_s32</span></div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  in_s32.val[0] = <a class="code" href="namespacearm__compute.xhtml#a77e02c19b498c3ff4ee373b0825cfd19">rounding_divide_by_pow2</a>(in_s32.val[0], result_shift.val[0]);</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  in_s32.val[1] = <a class="code" href="namespacearm__compute.xhtml#a77e02c19b498c3ff4ee373b0825cfd19">rounding_divide_by_pow2</a>(in_s32.val[1], result_shift.val[1]);</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  in_s32.val[2] = <a class="code" href="namespacearm__compute.xhtml#a77e02c19b498c3ff4ee373b0825cfd19">rounding_divide_by_pow2</a>(in_s32.val[2], result_shift.val[2]);</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  in_s32.val[3] = <a class="code" href="namespacearm__compute.xhtml#a77e02c19b498c3ff4ee373b0825cfd19">rounding_divide_by_pow2</a>(in_s32.val[3], result_shift.val[3]);</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="comment">// Add the offset terms</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  in_s32.val[0] = vaddq_s32(in_s32.val[0], result_offset_after_shift_s32);</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  in_s32.val[1] = vaddq_s32(in_s32.val[1], result_offset_after_shift_s32);</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  in_s32.val[2] = vaddq_s32(in_s32.val[2], result_offset_after_shift_s32);</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  in_s32.val[3] = vaddq_s32(in_s32.val[3], result_offset_after_shift_s32);</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="comment">// Convert S32 to S16</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keyword">const</span> int16x8x2_t in_s16 =</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>  {</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  vcombine_s16(vqmovn_s32(in_s32.val[0]), vqmovn_s32(in_s32.val[1])),</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  vcombine_s16(vqmovn_s32(in_s32.val[2]), vqmovn_s32(in_s32.val[3]))</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>  };</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="comment">// Convert S16 to S8</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  int8x16_t out_s8 = vcombine_s8(vqmovn_s16(in_s16.val[0]), vqmovn_s16(in_s16.val[1]));</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keywordflow">if</span>(is_bounded_relu)</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>  out_s8 = vmaxq_s8(out_s8, min_s8);</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  out_s8 = vminq_s8(out_s8, max_s8);</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> </div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="keywordflow">return</span> out_s8;</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a77e02c19b498c3ff4ee373b0825cfd19"><div class="ttname"><a href="namespacearm__compute.xhtml#a77e02c19b498c3ff4ee373b0825cfd19">arm_compute::rounding_divide_by_pow2</a></div><div class="ttdeci">int32x4_t rounding_divide_by_pow2(int32x4_t x, int32x4_t 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_math_8inl_source.xhtml#l00297">NEMath.inl:297</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_n_e_math_8inl_source.xhtml#l00297">rounding_divide_by_pow2()</a>.</p>
</div>
</div>
@@ -16485,9 +17219,9 @@
</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#l01066">1066</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="l01067"></a><span class="lineno"> 1067</span> {</div><div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>  std::stringstream ss;</div><div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>  ss.precision(std::numeric_limits<float>::max_digits10);</div><div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>  ss << val;</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">if</span>(val != static_cast<int>(val))</div><div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>  {</div><div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>  ss << <span class="stringliteral">"f"</span>;</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> </div><div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>  <span class="keywordflow">return</span> ss.str();</div><div class="line"><a name="l01078"></a><span class="lineno"> 1078</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#l00227">CLDepthwiseConvolutionLayer3x3NCHWKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00178">CLDepthwiseConvolutionLayer3x3NHWCKernel::configure()</a>, <a class="el" href="_c_l_dequantization_layer_kernel_8cpp_source.xhtml#l00077">CLDequantizationLayerKernel::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_quantization_layer_kernel_8cpp_source.xhtml#l00075">CLQuantizationLayerKernel::configure()</a>, <a class="el" href="_g_c_activation_layer_kernel_8cpp_source.xhtml#l00047">GCActivationLayerKernel::configure()</a>, <a class="el" href="_c_l_comparison_kernel_8cpp_source.xhtml#l00113">CLComparisonKernel::configure()</a>, <a class="el" href="_c_l_mean_std_dev_normalization_kernel_8cpp_source.xhtml#l00085">CLMeanStdDevNormalizationKernel::configure()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00119">CLActivationLayerKernel::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_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00132">CLPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_c_l_pooling_layer_kernel_8cpp_source.xhtml#l00184">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#l00098">CLWidthConcatenate2TensorsKernel::configure()</a>, <a class="el" href="_c_l_height_concatenate_layer_kernel_8cpp_source.xhtml#l00092">CLHeightConcatenateLayerKernel::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_concatenate_layer_kernel_8cpp_source.xhtml#l00093">CLWidthConcatenateLayerKernel::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#l00116">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="_g_c_batch_normalization_layer_kernel_8cpp_source.xhtml#l00139">GCBatchNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_batch_concatenate_layer_kernel_8cpp_source.xhtml#l00090">CLBatchConcatenateLayerKernel::configure()</a>, <a class="el" href="_c_l_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00085">CLDepthConcatenateLayerKernel::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_native_kernel_8cpp_source.xhtml#l00212">CLGEMMMatrixMultiplyNativeKernel::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_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00107">CLFuseBatchNormalizationKernel::configure()</a>, <a class="el" href="_c_l_batch_normalization_layer_kernel_8cpp_source.xhtml#l00139">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_reshaped_only_r_h_s_kernel_8cpp_source.xhtml#l00215">CLGEMMMatrixMultiplyReshapedOnlyRHSKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00305">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>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_reshaped_kernel_8cpp_source.xhtml#l00214">CLGEMMMatrixMultiplyReshapedKernel::configure()</a>, and <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00220">CLLogits1DMaxShiftExpSumKernel::configure()</a>.</p>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01099">1099</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="l01100"></a><span class="lineno"> 1100</span> {</div><div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>  std::stringstream ss;</div><div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>  ss.precision(std::numeric_limits<float>::max_digits10);</div><div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>  ss << val;</div><div class="line"><a name="l01104"></a><span class="lineno"> 1104</span> </div><div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>  <span class="keywordflow">if</span>(val != static_cast<int>(val))</div><div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>  {</div><div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>  ss << <span class="stringliteral">"f"</span>;</div><div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>  }</div><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>  <span class="keywordflow">return</span> ss.str();</div><div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> }</div></div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="_c_l_dequantization_layer_kernel_8cpp_source.xhtml#l00077">CLDequantizationLayerKernel::configure()</a>, <a class="el" href="_c_l_normalization_layer_kernel_8cpp_source.xhtml#l00107">CLNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_generate_proposals_layer_kernel_8cpp_source.xhtml#l00073">CLComputeAllAnchorsKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_c_h_w_kernel_8cpp_source.xhtml#l00243">CLDepthwiseConvolutionLayer3x3NCHWKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00197">CLDepthwiseConvolutionLayer3x3NHWCKernel::configure()</a>, <a class="el" href="_c_l_mean_std_dev_normalization_kernel_8cpp_source.xhtml#l00085">CLMeanStdDevNormalizationKernel::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#l00119">CLActivationLayerKernel::configure()</a>, <a class="el" href="_c_l_instance_normalization_layer_kernel_8cpp_source.xhtml#l00081">CLInstanceNormalizationLayerKernel::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_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00132">CLPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_c_l_pooling_layer_kernel_8cpp_source.xhtml#l00184">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_width_concatenate2_tensors_kernel_8cpp_source.xhtml#l00098">CLWidthConcatenate2TensorsKernel::configure()</a>, <a class="el" href="_c_l_height_concatenate_layer_kernel_8cpp_source.xhtml#l00093">CLHeightConcatenateLayerKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate_layer_kernel_8cpp_source.xhtml#l00093">CLWidthConcatenateLayerKernel::configure()</a>, <a class="el" href="_c_l_bounding_box_transform_kernel_8cpp_source.xhtml#l00090">CLBoundingBoxTransformKernel::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#l00116">CLWidthConcatenate4TensorsKernel::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_batch_concatenate_layer_kernel_8cpp_source.xhtml#l00090">CLBatchConcatenateLayerKernel::configure()</a>, <a class="el" href="_g_c_activation_layer_kernel_8cpp_source.xhtml#l00047">GCActivationLayerKernel::configure()</a>, <a class="el" href="_c_l_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00085">CLDepthConcatenateLayerKernel::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_native_kernel_8cpp_source.xhtml#l00213">CLGEMMMatrixMultiplyNativeKernel::configure()</a>, <a class="el" href="_c_l_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00107">CLFuseBatchNormalizationKernel::configure()</a>, <a class="el" href="_c_l_r_o_i_align_layer_kernel_8cpp_source.xhtml#l00105">CLROIAlignLayerKernel::configure()</a>, <a class="el" href="_c_l_batch_normalization_layer_kernel_8cpp_source.xhtml#l00139">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_depthwise_convolution_layer_native_kernel_8cpp_source.xhtml#l00180">CLDepthwiseConvolutionLayerNativeKernel::configure()</a>, <a class="el" href="_c_l_winograd_output_transform_kernel_8cpp_source.xhtml#l00138">CLWinogradOutputTransformKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_reshaped_only_r_h_s_kernel_8cpp_source.xhtml#l00216">CLGEMMMatrixMultiplyReshapedOnlyRHSKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00305">CLGEMMMatrixMultiplyKernel::configure()</a>, and <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00221">CLLogits1DMaxShiftExpSumKernel::configure()</a>.</p>
</div>
</div>
@@ -16567,7 +17301,7 @@
<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#l00080">80</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="l00081"></a><span class="lineno"> 81</span> {</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(value < 0 || divisor <= 0);</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordflow">return</span> (value / divisor) * divisor;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</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="l00081"></a><span class="lineno"> 81</span> {</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(value < 0 || divisor <= 0);</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordflow">return</span> (value / divisor) * divisor;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</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#l00466">Error.h:466</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>
@@ -16598,12 +17332,12 @@
</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="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00144">144</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="l00145"></a><span class="lineno"> 145</span> {</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</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="l00147"></a><span class="lineno"> 147</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#l00187">CLHelpers.cpp:187</a></div></div>
+<p class="definition">Definition at line <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00199">199</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="l00200"></a><span class="lineno"> 200</span> {</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</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="l00202"></a><span class="lineno"> 202</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#l00242">CLHelpers.cpp:242</a></div></div>
</div><!-- fragment -->
-<p class="reference">References <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00187">device_supports_extension()</a>.</p>
+<p class="reference">References <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00242">device_supports_extension()</a>.</p>
-<p class="reference">Referenced by <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l01125">CLKernelLibrary::fp16_supported()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l01195">CLKernelLibrary::fp16_supported()</a>.</p>
</div>
</div>
@@ -16636,7 +17370,41 @@
<div class="fragment"><div class="line"><a name="l00190"></a><span class="lineno"> 190</span> {</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="keywordflow">return</span> (target & GPUTarget::GPU_ARCH_MASK);</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</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="_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#l00305">CLGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l01043">CLKernelLibrary::create_kernel()</a>, and <a class="el" href="_tuners_8h_source.xhtml#l00040">TunerFactory::create_tuner()</a>.</p>
+<p class="reference">Referenced by <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#l00305">CLGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l01070">CLKernelLibrary::create_kernel()</a>, and <a class="el" href="_tuners_8h_source.xhtml#l00040">TunerFactory::create_tuner()</a>.</p>
+
+</div>
+</div>
+<a id="ad090aabdbbec665e3704af55ba7bd563"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad090aabdbbec665e3704af55ba7bd563">◆ </a></span>get_cl_promoted_type_from_data_type()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">std::string get_cl_promoted_type_from_data_type </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> & </td>
+ <td class="paramname"><em>dt</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Translates a tensor data type to the appropriate OpenCL promoted type. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> to be used to get the promoted OpenCL type.</td></tr>
+ </table>
+ </dd>
+</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="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00072">72</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="l00073"></a><span class="lineno"> 73</span> {</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordflow">switch</span>(dt)</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">case</span> DataType::U8:</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</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::S8:</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keywordflow">case</span> DataType::QSYMM8:</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordflow">case</span> DataType::QSYMM8_PER_CHANNEL:</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="keywordflow">return</span> <span class="stringliteral">"short"</span>;</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keywordflow">case</span> DataType::QASYMM16:</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keywordflow">return</span> <span class="stringliteral">"uint"</span>;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keywordflow">case</span> DataType::QSYMM16:</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordflow">return</span> <span class="stringliteral">"int"</span>;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keywordflow">return</span> <span class="stringliteral">"ulong"</span>;</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keywordflow">return</span> <span class="stringliteral">"long"</span>;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordflow">return</span> <span class="stringliteral">"float"</span>;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Cannot get promoted OpenCL type for the input data type."</span>);</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordflow">return</span> <span class="stringliteral">""</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> }</div><div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00352">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a3b989c6b5398b3b9538ad103a324205e">QASYMM16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6">QSYMM16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c">QSYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a34f500e941c4df30b870126ec868ebd5">QSYMM8_PER_CHANNEL</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_depthwise_convolution_layer3x3_n_c_h_w_kernel_8cpp_source.xhtml#l00243">CLDepthwiseConvolutionLayer3x3NCHWKernel::configure()</a>, and <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00197">CLDepthwiseConvolutionLayer3x3NHWCKernel::configure()</a>.</p>
</div>
</div>
@@ -16665,12 +17433,12 @@
</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="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00068">68</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="l00069"></a><span class="lineno"> 69</span> {</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keywordflow">switch</span>(dt)</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">case</span> DataType::U8:</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordflow">return</span> <span class="stringliteral">"uchar"</span>;</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keywordflow">case</span> DataType::QSYMM8:</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keywordflow">return</span> <span class="stringliteral">"char"</span>;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">return</span> <span class="stringliteral">"ushort"</span>;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="keywordflow">case</span> DataType::QSYMM16:</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordflow">return</span> <span class="stringliteral">"short"</span>;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keywordflow">return</span> <span class="stringliteral">"uint"</span>;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordflow">return</span> <span class="stringliteral">"int"</span>;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keywordflow">return</span> <span class="stringliteral">"ulong"</span>;</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keywordflow">return</span> <span class="stringliteral">"long"</span>;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</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="l00095"></a><span class="lineno"> 95</span>  <span class="keywordflow">return</span> <span class="stringliteral">""</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> }</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="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00119">119</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="l00120"></a><span class="lineno"> 120</span> {</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keywordflow">switch</span>(dt)</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">case</span> DataType::U8:</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordflow">return</span> <span class="stringliteral">"uchar"</span>;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordflow">case</span> DataType::QSYMM8:</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="keywordflow">case</span> DataType::QSYMM8_PER_CHANNEL:</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordflow">return</span> <span class="stringliteral">"char"</span>;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keywordflow">case</span> DataType::QASYMM16:</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keywordflow">return</span> <span class="stringliteral">"ushort"</span>;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keywordflow">case</span> DataType::QSYMM16:</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keywordflow">return</span> <span class="stringliteral">"short"</span>;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keywordflow">return</span> <span class="stringliteral">"uint"</span>;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordflow">return</span> <span class="stringliteral">"int"</span>;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keywordflow">return</span> <span class="stringliteral">"ulong"</span>;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keywordflow">return</span> <span class="stringliteral">"long"</span>;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Unsupported input data type."</span>);</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordflow">return</span> <span class="stringliteral">""</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> }</div><div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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#ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6">QSYMM16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c">QSYMM8</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#l00352">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#ad8ed01ff3ff33333d8e19db4d2818bb6a3b989c6b5398b3b9538ad103a324205e">QASYMM16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6">QSYMM16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c">QSYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a34f500e941c4df30b870126ec868ebd5">QSYMM8_PER_CHANNEL</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_select_kernel_8cpp_source.xhtml#l00109">CLSelectKernel::configure()</a>, and <a class="el" href="_c_l_y_o_l_o_layer_kernel_8cpp_source.xhtml#l00103">CLYOLOLayerKernel::configure()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="_c_l_pad_layer_kernel_8cpp_source.xhtml#l00097">CLPadLayerKernel::configure()</a>, <a class="el" href="_c_l_select_kernel_8cpp_source.xhtml#l00109">CLSelectKernel::configure()</a>, and <a class="el" href="_c_l_y_o_l_o_layer_kernel_8cpp_source.xhtml#l00103">CLYOLOLayerKernel::configure()</a>.</p>
</div>
</div>
@@ -16699,12 +17467,46 @@
</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="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">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="keywordflow">return</span> <span class="stringliteral">"uchar"</span>;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="keywordflow">case</span> DataType::QSYMM8:</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keywordflow">return</span> <span class="stringliteral">"char"</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">case</span> DataType::QSYMM16:</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keywordflow">return</span> <span class="stringliteral">"short"</span>;</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keywordflow">return</span> <span class="stringliteral">"uint"</span>;</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keywordflow">return</span> <span class="stringliteral">"int"</span>;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="keywordflow">return</span> <span class="stringliteral">"ulong"</span>;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keywordflow">return</span> <span class="stringliteral">"long"</span>;</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keywordflow">return</span> <span class="stringliteral">"half"</span>;</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordflow">return</span> <span class="stringliteral">"float"</span>;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</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="l00064"></a><span class="lineno"> 64</span>  <span class="keywordflow">return</span> <span class="stringliteral">""</span>;</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> }</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="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00037">37</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="l00038"></a><span class="lineno"> 38</span> {</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <span class="keywordflow">switch</span>(dt)</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> DataType::U8:</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="keywordflow">return</span> <span class="stringliteral">"uchar"</span>;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keywordflow">case</span> DataType::QSYMM8:</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keywordflow">case</span> DataType::QSYMM8_PER_CHANNEL:</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keywordflow">return</span> <span class="stringliteral">"char"</span>;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keywordflow">case</span> DataType::QASYMM16:</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keywordflow">return</span> <span class="stringliteral">"ushort"</span>;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <span class="keywordflow">case</span> DataType::QSYMM16:</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keywordflow">return</span> <span class="stringliteral">"short"</span>;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="keywordflow">return</span> <span class="stringliteral">"uint"</span>;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keywordflow">return</span> <span class="stringliteral">"int"</span>;</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keywordflow">return</span> <span class="stringliteral">"ulong"</span>;</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordflow">return</span> <span class="stringliteral">"long"</span>;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keywordflow">return</span> <span class="stringliteral">"half"</span>;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keywordflow">return</span> <span class="stringliteral">"float"</span>;</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Unsupported input data type."</span>);</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keywordflow">return</span> <span class="stringliteral">""</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> }</div><div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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#ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6">QSYMM16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c">QSYMM8</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#l00352">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#ad8ed01ff3ff33333d8e19db4d2818bb6a3b989c6b5398b3b9538ad103a324205e">QASYMM16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6">QSYMM16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c">QSYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a34f500e941c4df30b870126ec868ebd5">QSYMM8_PER_CHANNEL</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_element_wise_unary_layer_kernel_8cpp_source.xhtml#l00052">CLElementWiseUnaryLayerKernel::configure()</a>, <a class="el" href="_c_l_warp_affine_kernel_8cpp_source.xhtml#l00061">CLWarpAffineKernel::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_g_e_m_m_matrix_accumulate_biases_kernel_8cpp_source.xhtml#l00079">CLGEMMMatrixAccumulateBiasesKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_c_h_w_kernel_8cpp_source.xhtml#l00227">CLDepthwiseConvolutionLayer3x3NCHWKernel::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_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00178">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_floor_kernel_8cpp_source.xhtml#l00079">CLFloorKernel::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_dequantization_layer_kernel_8cpp_source.xhtml#l00077">CLDequantizationLayerKernel::configure()</a>, <a class="el" href="_c_l_copy_kernel_8cpp_source.xhtml#l00157">CLCopyKernel::configure()</a>, <a class="el" href="_c_l_reshape_layer_kernel_8cpp_source.xhtml#l00067">CLReshapeLayerKernel::configure()</a>, <a class="el" href="_c_l_space_to_depth_layer_kernel_8cpp_source.xhtml#l00067">CLSpaceToDepthLayerKernel::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_generate_proposals_layer_kernel_8cpp_source.xhtml#l00068">CLComputeAllAnchorsKernel::configure()</a>, <a class="el" href="_c_l_depth_to_space_layer_kernel_8cpp_source.xhtml#l00066">CLDepthToSpaceLayerKernel::configure()</a>, <a class="el" href="_c_l_normalization_layer_kernel_8cpp_source.xhtml#l00107">CLNormalizationLayerKernel::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="_c_l_deconvolution_layer_upsample_kernel_8cpp_source.xhtml#l00070">CLDeconvolutionLayerUpsampleKernel::configure()</a>, <a class="el" href="_c_l_space_to_batch_layer_kernel_8cpp_source.xhtml#l00090">CLSpaceToBatchLayerKernel::configure()</a>, <a class="el" href="_c_l_gather_kernel_8cpp_source.xhtml#l00091">CLGatherKernel::configure()</a>, <a class="el" href="_c_l_upsample_layer_kernel_8cpp_source.xhtml#l00066">CLUpsampleLayerKernel::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_min_max_location_kernel_8cpp_source.xhtml#l00062">CLMinMaxKernel::configure()</a>, <a class="el" href="_c_l_quantization_layer_kernel_8cpp_source.xhtml#l00075">CLQuantizationLayerKernel::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_activation_layer_kernel_8cpp_source.xhtml#l00119">CLActivationLayerKernel::configure()</a>, <a class="el" href="_c_l_comparison_kernel_8cpp_source.xhtml#l00113">CLComparisonKernel::configure()</a>, <a class="el" href="_c_l_mean_std_dev_normalization_kernel_8cpp_source.xhtml#l00085">CLMeanStdDevNormalizationKernel::configure()</a>, <a class="el" href="_c_l_memset_kernel_8cpp_source.xhtml#l00042">CLMemsetKernel::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_pooling_layer_kernel_8cpp_source.xhtml#l00184">CLPoolingLayerKernel::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_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00132">CLPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_c_l_reduction_operation_kernel_8cpp_source.xhtml#l00146">CLReductionOperationKernel::configure()</a>, <a class="el" href="_c_l_crop_kernel_8cpp_source.xhtml#l00049">CLCropKernel::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_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_range_kernel_8cpp_source.xhtml#l00093">CLRangeKernel::configure()</a>, <a class="el" href="_c_l_l2_normalize_layer_kernel_8cpp_source.xhtml#l00098">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_select_kernel_8cpp_source.xhtml#l00109">CLSelectKernel::configure()</a>, <a class="el" href="_c_l_depthwise_im2_col_kernel_8cpp_source.xhtml#l00066">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_convolution_kernel_8cpp_source.xhtml#l00060">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#l00073">CLROIPoolingLayerKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_native_kernel_8cpp_source.xhtml#l00212">CLGEMMMatrixMultiplyNativeKernel::configure()</a>, <a class="el" href="_c_l_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00107">CLFuseBatchNormalizationKernel::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#l00139">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_g_e_m_m_matrix_multiply_reshaped_only_r_h_s_kernel_8cpp_source.xhtml#l00215">CLGEMMMatrixMultiplyReshapedOnlyRHSKernel::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#l00305">CLGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00389">CLDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_c_l_deconvolution_reshape_output_kernel_8cpp_source.xhtml#l00120">CLDeconvolutionReshapeOutputKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_reshaped_kernel_8cpp_source.xhtml#l00214">CLGEMMMatrixMultiplyReshapedKernel::configure()</a>, <a class="el" href="_c_l_col2_im_kernel_8cpp_source.xhtml#l00091">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#l00120">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#l00130">CLSeparableConvolutionHorKernel< matrix_size >::configure()</a>, <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00220">CLLogits1DMaxShiftExpSumKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00199">CLSeparableConvolutionVertKernel< matrix_size >::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00194">CLEdgeTraceKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00281">CLConvolutionRectangleKernel::configure()</a>, <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00337">CLLogits1DNormKernel::configure()</a>, and <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00126">get_underlying_cl_type_from_data_type()</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_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_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_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_dequantization_layer_kernel_8cpp_source.xhtml#l00077">CLDequantizationLayerKernel::configure()</a>, <a class="el" href="_c_l_copy_kernel_8cpp_source.xhtml#l00157">CLCopyKernel::configure()</a>, <a class="el" href="_c_l_reshape_layer_kernel_8cpp_source.xhtml#l00067">CLReshapeLayerKernel::configure()</a>, <a class="el" href="_c_l_space_to_depth_layer_kernel_8cpp_source.xhtml#l00067">CLSpaceToDepthLayerKernel::configure()</a>, <a class="el" href="_c_l_generate_proposals_layer_kernel_8cpp_source.xhtml#l00073">CLComputeAllAnchorsKernel::configure()</a>, <a class="el" href="_c_l_depth_to_space_layer_kernel_8cpp_source.xhtml#l00066">CLDepthToSpaceLayerKernel::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#l00076">CLPermuteKernel::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_space_to_batch_layer_kernel_8cpp_source.xhtml#l00090">CLSpaceToBatchLayerKernel::configure()</a>, <a class="el" href="_c_l_tile_kernel_8cpp_source.xhtml#l00068">CLTileKernel::configure()</a>, <a class="el" href="_c_l_deconvolution_layer_upsample_kernel_8cpp_source.xhtml#l00070">CLDeconvolutionLayerUpsampleKernel::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_depthwise_convolution_layer3x3_n_c_h_w_kernel_8cpp_source.xhtml#l00243">CLDepthwiseConvolutionLayer3x3NCHWKernel::configure()</a>, <a class="el" href="_c_l_remap_kernel_8cpp_source.xhtml#l00050">CLRemapKernel::configure()</a>, <a class="el" href="_c_l_gather_kernel_8cpp_source.xhtml#l00091">CLGatherKernel::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#l00119">CLActivationLayerKernel::configure()</a>, <a class="el" href="_c_l_depth_convert_layer_kernel_8cpp_source.xhtml#l00074">CLDepthConvertLayerKernel::configure()</a>, <a class="el" href="_c_l_mean_std_dev_normalization_kernel_8cpp_source.xhtml#l00085">CLMeanStdDevNormalizationKernel::configure()</a>, <a class="el" href="_c_l_memset_kernel_8cpp_source.xhtml#l00042">CLMemsetKernel::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_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00197">CLDepthwiseConvolutionLayer3x3NHWCKernel::configure()</a>, <a class="el" href="_c_l_instance_normalization_layer_kernel_8cpp_source.xhtml#l00081">CLInstanceNormalizationLayerKernel::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_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00132">CLPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_c_l_pooling_layer_kernel_8cpp_source.xhtml#l00184">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_pad_layer_kernel_8cpp_source.xhtml#l00097">CLPadLayerKernel::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_absolute_difference_kernel_8cpp_source.xhtml#l00047">CLAbsoluteDifferenceKernel::configure()</a>, <a class="el" href="_c_l_crop_kernel_8cpp_source.xhtml#l00049">CLCropKernel::configure()</a>, <a class="el" href="_c_l_l2_normalize_layer_kernel_8cpp_source.xhtml#l00098">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_bounding_box_transform_kernel_8cpp_source.xhtml#l00090">CLBoundingBoxTransformKernel::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_convert_fully_connected_weights_kernel_8cpp_source.xhtml#l00040">CLConvertFullyConnectedWeightsKernel::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_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00107">CLFuseBatchNormalizationKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_native_kernel_8cpp_source.xhtml#l00213">CLGEMMMatrixMultiplyNativeKernel::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_batch_normalization_layer_kernel_8cpp_source.xhtml#l00139">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_reduction_operation_kernel_8cpp_source.xhtml#l00145">CLReductionOperationKernel::configure()</a>, <a class="el" href="_c_l_r_o_i_align_layer_kernel_8cpp_source.xhtml#l00105">CLROIAlignLayerKernel::configure()</a>, <a class="el" href="_c_l_harris_corners_kernel_8cpp_source.xhtml#l00054">CLHarrisScoreKernel::configure()</a>, <a class="el" href="_c_l_strided_slice_kernel_8cpp_source.xhtml#l00104">CLStridedSliceKernel::configure()</a>, <a class="el" href="_c_l_winograd_output_transform_kernel_8cpp_source.xhtml#l00138">CLWinogradOutputTransformKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_reshaped_only_r_h_s_kernel_8cpp_source.xhtml#l00216">CLGEMMMatrixMultiplyReshapedOnlyRHSKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_native_kernel_8cpp_source.xhtml#l00180">CLDepthwiseConvolutionLayerNativeKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00305">CLGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_deconvolution_reshape_output_kernel_8cpp_source.xhtml#l00115">CLDeconvolutionReshapeOutputKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00412">CLDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_c_l_col2_im_kernel_8cpp_source.xhtml#l00091">CLCol2ImKernel::configure()</a>, <a class="el" href="_c_l_weights_reshape_kernel_8cpp_source.xhtml#l00079">CLWeightsReshapeKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00120">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_softmax_layer_kernel_8cpp_source.xhtml#l00221">CLLogits1DMaxShiftExpSumKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00194">CLEdgeTraceKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00281">CLConvolutionRectangleKernel::configure()</a>, <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00340">CLLogits1DNormKernel::configure()</a>, and <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00181">get_underlying_cl_type_from_data_type()</a>.</p>
+
+</div>
+</div>
+<a id="a237044b76803b058edd1b23d599bcc6d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a237044b76803b058edd1b23d599bcc6d">◆ </a></span>get_cl_unsigned_type_from_element_size()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">std::string get_cl_unsigned_type_from_element_size </td>
+ <td>(</td>
+ <td class="paramtype">size_t </td>
+ <td class="paramname"><em>element_size</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Translates the element size to an unsigned integer data type. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">element_size</td><td>Size in bytes of an element.</td></tr>
+ </table>
+ </dd>
+</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="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00101">101</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="l00102"></a><span class="lineno"> 102</span> {</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordflow">switch</span>(element_size)</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  {</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordflow">case</span> 1:</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keywordflow">return</span> <span class="stringliteral">"uchar"</span>;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keywordflow">case</span> 2:</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordflow">return</span> <span class="stringliteral">"ushort"</span>;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keywordflow">case</span> 4:</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keywordflow">return</span> <span class="stringliteral">"uint"</span>;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="keywordflow">case</span> 8:</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keywordflow">return</span> <span class="stringliteral">"ulong"</span>;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Data type not supported"</span>);</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="keywordflow">return</span> <span class="stringliteral">""</span>;</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="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00352">ARM_COMPUTE_ERROR</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_c_l_depthwise_convolution_layer_reshape_weights_kernel_8cpp_source.xhtml#l00086">CLDepthwiseConvolutionLayerReshapeWeightsKernel::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_height_concatenate_layer_kernel_8cpp_source.xhtml#l00093">CLHeightConcatenateLayerKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_reshape_r_h_s_matrix_kernel_8cpp_source.xhtml#l00102">CLGEMMReshapeRHSMatrixKernel::configure()</a>, and <a class="el" href="_c_l_g_e_m_m_reshape_l_h_s_matrix_kernel_8cpp_source.xhtml#l00122">CLGEMMReshapeLHSMatrixKernel::configure()</a>.</p>
</div>
</div>
@@ -16733,11 +17535,11 @@
</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="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00164">164</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="l00165"></a><span class="lineno"> 165</span> {</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  std::string version_str = device.getInfo<CL_DEVICE_VERSION>();</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="keywordflow">if</span>(version_str.find(<span class="stringliteral">"OpenCL 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::CL20;</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.2"</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::CL12;</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.1"</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::CL11;</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">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="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> CLVersion::CL10;</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> CLVersion::UNKNOWN;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00219">219</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="l00220"></a><span class="lineno"> 220</span> {</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  std::string version_str = device.getInfo<CL_DEVICE_VERSION>();</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordflow">if</span>(version_str.find(<span class="stringliteral">"OpenCL 2"</span>) != std::string::npos)</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  {</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keywordflow">return</span> CLVersion::CL20;</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">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="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> CLVersion::CL12;</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">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="l00231"></a><span class="lineno"> 231</span>  {</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="keywordflow">return</span> CLVersion::CL11;</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  }</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</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="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> CLVersion::CL10;</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> </div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  <span class="keywordflow">return</span> CLVersion::UNKNOWN;</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</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#l01043">CLKernelLibrary::create_kernel()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l01070">CLKernelLibrary::create_kernel()</a>.</p>
</div>
</div>
@@ -16765,19 +17567,19 @@
</dd>
</dl>
-<p class="definition">Definition at line <a class="el" href="_c_p_u_utils_8cpp_source.xhtml#l00351">351</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="l00352"></a><span class="lineno"> 352</span> {</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <span class="preprocessor">#if !defined(BARE_METAL) && (defined(__arm__) || defined(__aarch64__))</span></div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  <span class="keywordtype">bool</span> cpuid = <span class="keyword">false</span>;</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <span class="keywordtype">bool</span> hwcaps_fp16_support = <span class="keyword">false</span>;</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <span class="keywordtype">bool</span> hwcaps_dot_support = <span class="keyword">false</span>;</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span> </div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <span class="keyword">const</span> uint32_t hwcaps = getauxval(AT_HWCAP);</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="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="l00361"></a><span class="lineno"> 361</span>  {</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  cpuid = <span class="keyword">true</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> </div><div class="line"><a name="l00365"></a><span class="lineno"> 365</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="l00366"></a><span class="lineno"> 366</span>  {</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  hwcaps_fp16_support = <span class="keyword">true</span>;</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  }</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span> </div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="preprocessor">#if defined(__aarch64__)</span></div><div class="line"><a name="l00371"></a><span class="lineno"> 371</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="l00372"></a><span class="lineno"> 372</span>  {</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  hwcaps_dot_support = <span class="keyword">true</span>;</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  }</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="preprocessor">#endif </span><span class="comment">/* defined(__aarch64__) */</span><span class="preprocessor"></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="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> max_cpus = get_max_cpus();</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</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="l00379"></a><span class="lineno"> 379</span>  std::vector<CPUModel> percpu(max_cpus, CPUModel::GENERIC);</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  <span class="keywordflow">if</span>(cpuid)</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>  populate_models_cpuid(percpu);</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">else</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>  populate_models_cpuinfo(percpu);</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>  <span class="keywordtype">int</span> j(0);</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</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="l00390"></a><span class="lineno"> 390</span>  <span class="comment">// We assume that the system does not have mixed architectures</span></div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <span class="keywordtype">bool</span> one_supports_dot = <span class="keyword">false</span>;</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <span class="keywordtype">bool</span> one_supports_fp16 = <span class="keyword">false</span>;</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  <span class="keywordflow">for</span>(<span class="keyword">const</span> <span class="keyword">auto</span> &v : percpu)</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>  one_supports_dot = one_supports_dot || model_supports_dot(v);</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  one_supports_fp16 = one_supports_fp16 || model_supports_fp16(v);</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</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="l00398"></a><span class="lineno"> 398</span>  }</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#a6d2db590ac4d869e8feb648beb80fcea">set_dotprod</a>(one_supports_dot || hwcaps_dot_support);</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</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="l00401"></a><span class="lineno"> 401</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="l00402"></a><span class="lineno"> 402</span>  <a class="code" href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(cpuinfo);</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</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="l00404"></a><span class="lineno"> 404</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>
+<p class="definition">Definition at line <a class="el" href="_c_p_u_utils_8cpp_source.xhtml#l00346">346</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="l00347"></a><span class="lineno"> 347</span> {</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="preprocessor">#if !defined(BARE_METAL) && (defined(__arm__) || defined(__aarch64__))</span></div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  <span class="keywordtype">bool</span> cpuid = <span class="keyword">false</span>;</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  <span class="keywordtype">bool</span> hwcaps_fp16_support = <span class="keyword">false</span>;</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <span class="keywordtype">bool</span> hwcaps_dot_support = <span class="keyword">false</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>  <span class="keyword">const</span> uint32_t hwcaps = getauxval(AT_HWCAP);</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <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="l00356"></a><span class="lineno"> 356</span>  {</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  cpuid = <span class="keyword">true</span>;</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> </div><div class="line"><a name="l00360"></a><span class="lineno"> 360</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="l00361"></a><span class="lineno"> 361</span>  {</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  hwcaps_fp16_support = <span class="keyword">true</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> </div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="preprocessor">#if defined(__aarch64__)</span></div><div class="line"><a name="l00366"></a><span class="lineno"> 366</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="l00367"></a><span class="lineno"> 367</span>  {</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  hwcaps_dot_support = <span class="keyword">true</span>;</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  }</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="preprocessor">#endif </span><span class="comment">/* defined(__aarch64__) */</span><span class="preprocessor"></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="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> max_cpus = get_max_cpus();</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</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="l00374"></a><span class="lineno"> 374</span>  std::vector<CPUModel> percpu(max_cpus, CPUModel::GENERIC);</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <span class="keywordflow">if</span>(cpuid)</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>  populate_models_cpuid(percpu);</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">else</span></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>  populate_models_cpuinfo(percpu);</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="keywordtype">int</span> j(0);</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</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="l00385"></a><span class="lineno"> 385</span>  <span class="comment">// We assume that the system does not have mixed architectures</span></div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  <span class="keywordtype">bool</span> one_supports_dot = <span class="keyword">false</span>;</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  <span class="keywordtype">bool</span> one_supports_fp16 = <span class="keyword">false</span>;</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  <span class="keywordflow">for</span>(<span class="keyword">const</span> <span class="keyword">auto</span> &v : 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>  one_supports_dot = one_supports_dot || model_supports_dot(v);</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  one_supports_fp16 = one_supports_fp16 || model_supports_fp16(v);</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</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="l00393"></a><span class="lineno"> 393</span>  }</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</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="l00395"></a><span class="lineno"> 395</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="l00396"></a><span class="lineno"> 396</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="l00397"></a><span class="lineno"> 397</span>  <a class="code" href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(cpuinfo);</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</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="l00399"></a><span class="lineno"> 399</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#l00060">CPUUtils.cpp:60</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#l00056">CPUUtils.cpp:56</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#l00152">Error.h:152</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="_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#l00052">CPUUtils.cpp:52</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">References <a class="el" href="_error_8h_source.xhtml#l00152">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#l00060">HWCAP_ASIMDDP</a>, <a class="el" href="_c_p_u_utils_8cpp_source.xhtml#l00052">HWCAP_ASIMDHP</a>, <a class="el" href="_c_p_u_utils_8cpp_source.xhtml#l00056">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>
+<p class="reference">Referenced by <a class="el" href="_device_properties_8cpp_source.xhtml#l00030">DeviceProperties::DeviceProperties()</a>, and <a class="el" href="_i_scheduler_8cpp_source.xhtml#l00031">IScheduler::IScheduler()</a>.</p>
</div>
</div>
@@ -16825,14 +17627,14 @@
</dl>
<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>
-<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#acf5f12bbab64dd614bd8220c97fe484f">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#acf5f12bbab64dd614bd8220c97fe484f">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#acf5f12bbab64dd614bd8220c97fe484f">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#acf5f12bbab64dd614bd8220c97fe484f">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_acf5f12bbab64dd614bd8220c97fe484f"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">arm_compute::test::validation::data_layout</a></div><div class="ttdeci">const DataLayout data_layout</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00146">Im2Col.cpp:146</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>
+<p class="definition">Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00327">327</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
+<div class="fragment"><div class="line"><a name="l00328"></a><span class="lineno"> 328</span> {</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <a class="code" href="_error_8h.xhtml#a0b0eb3235749a2909dc5a101afe59a1b">ARM_COMPUTE_ERROR_ON_MSG</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">data_layout</a> == DataLayout::UNKNOWN, <span class="stringliteral">"Cannot retrieve the dimension index for an unknown layout!"</span>);</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span> </div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  <span class="comment">/* Return the index based on the data layout</span></div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="comment"> * [N C H W]</span></div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="comment"> * [3 2 1 0]</span></div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="comment"> * [N H W C]</span></div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="comment"> */</span></div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <span class="keywordflow">switch</span>(data_layout_dimension)</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  {</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <span class="keywordflow">case</span> DataLayoutDimension::CHANNEL:</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="keywordflow">return</span> (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">data_layout</a> == DataLayout::NCHW) ? 2 : 0;</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <span class="keywordflow">case</span> DataLayoutDimension::HEIGHT:</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <span class="keywordflow">return</span> (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">data_layout</a> == DataLayout::NCHW) ? 1 : 2;</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <span class="keywordflow">case</span> DataLayoutDimension::WIDTH:</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_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">data_layout</a> == DataLayout::NCHW) ? 0 : 1;</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  <span class="keywordflow">case</span> DataLayoutDimension::BATCHES:</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Data layout index not supported!"</span>);</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  }</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_acf5f12bbab64dd614bd8220c97fe484f"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">arm_compute::test::validation::data_layout</a></div><div class="ttdeci">const DataLayout data_layout</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00146">Im2Col.cpp:146</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a0b0eb3235749a2909dc5a101afe59a1b"><div class="ttname"><a href="_error_8h.xhtml#a0b0eb3235749a2909dc5a101afe59a1b">ARM_COMPUTE_ERROR_ON_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_MSG(cond, msg)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00456">Error.h:456</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="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00146">arm_compute::test::validation::data_layout</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">References <a class="el" href="_error_8h_source.xhtml#l00352">ARM_COMPUTE_ERROR</a>, <a class="el" href="_error_8h_source.xhtml#l00456">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="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00146">arm_compute::test::validation::data_layout</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#l00334">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#l00998">arm_compute::misc::shape_calculator::compute_batch_to_space_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00359">arm_compute::misc::shape_calculator::compute_col2im_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00483">arm_compute::misc::shape_calculator::compute_deconvolution_output_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00451">arm_compute::misc::shape_calculator::compute_deconvolution_upsampled_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00702">arm_compute::misc::shape_calculator::compute_deep_convolution_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l01022">arm_compute::misc::shape_calculator::compute_depth_to_space_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00410">arm_compute::misc::shape_calculator::compute_depthwise_convolution_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00513">arm_compute::misc::shape_calculator::compute_im2col_conv_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00751">arm_compute::misc::shape_calculator::compute_pool_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l01128">arm_compute::misc::shape_calculator::compute_prior_box_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00086">arm_compute::misc::shape_calculator::compute_reorg_output_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00261">arm_compute::misc::shape_calculator::compute_reshaped_depthwise_weights_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00784">arm_compute::misc::shape_calculator::compute_roi_align_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l01082">arm_compute::misc::shape_calculator::compute_space_to_batch_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l01105">arm_compute::misc::shape_calculator::compute_space_to_depth_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l01200">arm_compute::misc::shape_calculator::compute_upsample_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00051">arm_compute::misc::shape_calculator::compute_vector_to_tensor_output_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00608">arm_compute::misc::shape_calculator::compute_winograd_filter_transform_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00631">arm_compute::misc::shape_calculator::compute_winograd_input_transform_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00667">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="_c_l_channel_shuffle_layer_kernel_8cpp_source.xhtml#l00095">CLChannelShuffleLayerKernel::configure()</a>, <a class="el" href="_n_e_im2_col_8cpp_source.xhtml#l00037">NEIm2Col::configure()</a>, <a class="el" href="_c_l_space_to_depth_layer_kernel_8cpp_source.xhtml#l00067">CLSpaceToDepthLayerKernel::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_depth_to_space_layer_kernel_8cpp_source.xhtml#l00066">CLDepthToSpaceLayerKernel::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#l00090">CLSpaceToBatchLayerKernel::configure()</a>, <a class="el" href="_n_e_scale_8cpp_source.xhtml#l00105">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#l00184">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_pooling_layer_kernel_8cpp_source.xhtml#l00333">NEPoolingLayerKernel::configure()</a>, <a class="el" href="_c_l_depthwise_im2_col_kernel_8cpp_source.xhtml#l00066">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#l01464">NEDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00389">CLDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_c_l_deconvolution_reshape_output_kernel_8cpp_source.xhtml#l00120">CLDeconvolutionReshapeOutputKernel::configure()</a>, <a class="el" href="_n_e_scale_kernel_8cpp_source.xhtml#l00339">NEScaleKernel::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#l00098">CLWinogradConvolutionLayer::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_8cpp_source.xhtml#l00047">CLDepthwiseConvolutionLayer3x3::configure()</a>, <a class="el" href="_c_l_im2_col_kernel_8cpp_source.xhtml#l00294">CLIm2ColKernel::configure()</a>, <a class="el" href="_c_l_f_f_t_convolution_layer_8cpp_source.xhtml#l00098">CLFFTConvolutionLayer::configure()</a>, <a class="el" href="_n_e_f_f_t_convolution_layer_8cpp_source.xhtml#l00097">NEFFTConvolutionLayer::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#l00351">NEIm2ColKernel::configure()</a>, <a class="el" href="_c_l_direct_deconvolution_layer_8cpp_source.xhtml#l00107">CLDirectDeconvolutionLayer::configure()</a>, <a class="el" href="_c_l_g_e_m_m_deconvolution_layer_8cpp_source.xhtml#l00186">CLGEMMDeconvolutionLayer::configure()</a>, <a class="el" href="_n_e_deconvolution_layer_8cpp_source.xhtml#l00115">NEDeconvolutionLayer::configure()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00241">NEGEMMConvolutionLayer::configure()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00177">CLGEMMConvolutionLayer::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_8cpp_source.xhtml#l00256">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#l00135">CLConvolutionLayer::get_convolution_method()</a>, <a class="el" href="_n_e_convolution_layer_8cpp_source.xhtml#l00120">NEConvolutionLayer::get_convolution_method()</a>, <a class="el" href="_c_l_deconvolution_layer_8cpp_source.xhtml#l00097">CLDeconvolutionLayer::get_deconvolution_method()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00726">get_normalization_dimension_index()</a>, <a class="el" href="_n_e_depthwise_convolution_assembly_dispatch_8cpp_source.xhtml#l00361">NEDepthwiseConvolutionAssemblyDispatch::is_optimized_supported()</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#l00097">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="_n_e_depth_to_space_layer_kernel_8cpp_source.xhtml#l00096">NEDepthToSpaceLayerKernel::run()</a>, <a class="el" href="_n_e_space_to_depth_layer_kernel_8cpp_source.xhtml#l00097">NESpaceToDepthLayerKernel::run()</a>, <a class="el" href="_n_e_reorg_layer_kernel_8cpp_source.xhtml#l00105">NEReorgLayerKernel::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#l01518">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#l00553">CLDirectConvolutionLayerKernel::run()</a>, <a class="el" href="_n_e_space_to_batch_layer_kernel_8cpp_source.xhtml#l00142">NESpaceToBatchLayerKernel::run()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00551">NEGEMMConvolutionLayer::run()</a>, <a class="el" href="_c_l_deconvolution_layer_upsample_kernel_8cpp_source.xhtml#l00042">CLDeconvolutionLayerUpsampleKernel::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_upsample_layer_kernel_8cpp_source.xhtml#l00044">CLUpsampleLayerKernel::validate()</a>, <a class="el" href="_n_e_upsample_layer_kernel_8cpp_source.xhtml#l00090">NEUpsampleLayerKernel::validate()</a>, <a class="el" href="_n_e_scale_8cpp_source.xhtml#l00183">NEScale::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_pooling_layer_kernel_8cpp_source.xhtml#l01786">NEPoolingLayerKernel::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_r_n_n_layer_8cpp_source.xhtml#l00042">NERNNLayer::validate()</a>, <a class="el" href="_n_e_depthwise_convolution_assembly_dispatch_8cpp_source.xhtml#l00320">NEDepthwiseConvolutionAssemblyDispatch::validate()</a>, <a class="el" href="_c_l_winograd_convolution_layer_8cpp_source.xhtml#l00149">CLWinogradConvolutionLayer::validate()</a>, <a class="el" href="_n_e_winograd_convolution_layer_8cpp_source.xhtml#l00555">NEWinogradConvolutionLayer::validate()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00230">NEDepthwiseConvolutionLayer3x3::validate()</a>, <a class="el" href="_c_l_generate_proposals_layer_8cpp_source.xhtml#l00158">CLGenerateProposalsLayer::validate()</a>, <a class="el" href="_n_e_f_f_t_convolution_layer_8cpp_source.xhtml#l00252">NEFFTConvolutionLayer::validate()</a>, <a class="el" href="_c_l_f_f_t_convolution_layer_8cpp_source.xhtml#l00253">CLFFTConvolutionLayer::validate()</a>, <a class="el" href="_c_l_direct_deconvolution_layer_8cpp_source.xhtml#l00052">CLDirectDeconvolutionLayer::validate()</a>, <a class="el" href="_c_l_g_e_m_m_deconvolution_layer_8cpp_source.xhtml#l00093">CLGEMMDeconvolutionLayer::validate()</a>, <a class="el" href="_n_e_deconvolution_layer_8cpp_source.xhtml#l00057">NEDeconvolutionLayer::validate()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00397">NEGEMMConvolutionLayer::validate()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00373">CLGEMMConvolutionLayer::validate()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_8cpp_source.xhtml#l00380">CLDepthwiseConvolutionLayer::validate()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00560">NEDepthwiseConvolutionLayerOptimized::validate()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00858">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#l00440">arm_compute::test::validation::reference::winograd_output_transform()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00340">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#l01000">arm_compute::misc::shape_calculator::compute_batch_to_space_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00359">arm_compute::misc::shape_calculator::compute_col2im_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00483">arm_compute::misc::shape_calculator::compute_deconvolution_output_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00451">arm_compute::misc::shape_calculator::compute_deconvolution_upsampled_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00702">arm_compute::misc::shape_calculator::compute_deep_convolution_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l01024">arm_compute::misc::shape_calculator::compute_depth_to_space_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00410">arm_compute::misc::shape_calculator::compute_depthwise_convolution_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00513">arm_compute::misc::shape_calculator::compute_im2col_conv_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00751">arm_compute::misc::shape_calculator::compute_pool_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l01130">arm_compute::misc::shape_calculator::compute_prior_box_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00086">arm_compute::misc::shape_calculator::compute_reorg_output_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00261">arm_compute::misc::shape_calculator::compute_reshaped_depthwise_weights_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00784">arm_compute::misc::shape_calculator::compute_roi_align_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l01084">arm_compute::misc::shape_calculator::compute_space_to_batch_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l01107">arm_compute::misc::shape_calculator::compute_space_to_depth_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l01211">arm_compute::misc::shape_calculator::compute_upsample_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00051">arm_compute::misc::shape_calculator::compute_vector_to_tensor_output_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00608">arm_compute::misc::shape_calculator::compute_winograd_filter_transform_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00631">arm_compute::misc::shape_calculator::compute_winograd_input_transform_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00667">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_space_to_depth_layer_kernel_8cpp_source.xhtml#l00067">CLSpaceToDepthLayerKernel::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_depth_to_space_layer_kernel_8cpp_source.xhtml#l00066">CLDepthToSpaceLayerKernel::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#l00090">CLSpaceToBatchLayerKernel::configure()</a>, <a class="el" href="_n_e_scale_8cpp_source.xhtml#l00105">NEScale::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#l00184">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_pooling_layer_kernel_8cpp_source.xhtml#l00333">NEPoolingLayerKernel::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="_c_l_r_o_i_align_layer_kernel_8cpp_source.xhtml#l00105">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#l01464">NEDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_native_kernel_8cpp_source.xhtml#l00180">CLDepthwiseConvolutionLayerNativeKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00412">CLDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_c_l_deconvolution_reshape_output_kernel_8cpp_source.xhtml#l00115">CLDeconvolutionReshapeOutputKernel::configure()</a>, <a class="el" href="_n_e_scale_kernel_8cpp_source.xhtml#l00339">NEScaleKernel::configure()</a>, <a class="el" href="_n_e_winograd_convolution_layer_8cpp_source.xhtml#l00270">NEWinogradConvolutionLayer::configure()</a>, <a class="el" href="_c_l_winograd_convolution_layer_8cpp_source.xhtml#l00098">CLWinogradConvolutionLayer::configure()</a>, <a class="el" href="_c_l_im2_col_kernel_8cpp_source.xhtml#l00294">CLIm2ColKernel::configure()</a>, <a class="el" href="_c_l_f_f_t_convolution_layer_8cpp_source.xhtml#l00098">CLFFTConvolutionLayer::configure()</a>, <a class="el" href="_n_e_f_f_t_convolution_layer_8cpp_source.xhtml#l00097">NEFFTConvolutionLayer::configure()</a>, <a class="el" href="_n_e_generate_proposals_layer_8cpp_source.xhtml#l00065">NEGenerateProposalsLayer::configure()</a>, <a class="el" href="_n_e_im2_col_kernel_8cpp_source.xhtml#l00351">NEIm2ColKernel::configure()</a>, <a class="el" href="_c_l_generate_proposals_layer_8cpp_source.xhtml#l00065">CLGenerateProposalsLayer::configure()</a>, <a class="el" href="_c_l_direct_deconvolution_layer_8cpp_source.xhtml#l00104">CLDirectDeconvolutionLayer::configure()</a>, <a class="el" href="_c_l_g_e_m_m_deconvolution_layer_8cpp_source.xhtml#l00186">CLGEMMDeconvolutionLayer::configure()</a>, <a class="el" href="_n_e_deconvolution_layer_8cpp_source.xhtml#l00112">NEDeconvolutionLayer::configure()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00235">NEGEMMConvolutionLayer::configure()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00181">CLGEMMConvolutionLayer::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#l00236">TensorInfo::dimension()</a>, <a class="el" href="_image_loader_8h_source.xhtml#l00257">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#l00135">CLConvolutionLayer::get_convolution_method()</a>, <a class="el" href="_n_e_convolution_layer_8cpp_source.xhtml#l00120">NEConvolutionLayer::get_convolution_method()</a>, <a class="el" href="_c_l_deconvolution_layer_8cpp_source.xhtml#l00097">CLDeconvolutionLayer::get_deconvolution_method()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00726">get_normalization_dimension_index()</a>, <a class="el" href="_n_e_depthwise_convolution_assembly_dispatch_8cpp_source.xhtml#l00361">NEDepthwiseConvolutionAssemblyDispatch::is_optimized_supported()</a>, <a class="el" href="_c_l_deconvolution_layer_upsample_kernel_8cpp_source.xhtml#l00097">CLDeconvolutionLayerUpsampleKernel::run()</a>, <a class="el" href="_n_e_depth_to_space_layer_kernel_8cpp_source.xhtml#l00096">NEDepthToSpaceLayerKernel::run()</a>, <a class="el" href="_n_e_space_to_depth_layer_kernel_8cpp_source.xhtml#l00097">NESpaceToDepthLayerKernel::run()</a>, <a class="el" href="_n_e_reorg_layer_kernel_8cpp_source.xhtml#l00105">NEReorgLayerKernel::run()</a>, <a class="el" href="_c_l_r_o_i_align_layer_kernel_8cpp_source.xhtml#l00162">CLROIAlignLayerKernel::run()</a>, <a class="el" href="_n_e_direct_convolution_layer_kernel_8cpp_source.xhtml#l01518">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#l00576">CLDirectConvolutionLayerKernel::run()</a>, <a class="el" href="_n_e_space_to_batch_layer_kernel_8cpp_source.xhtml#l00142">NESpaceToBatchLayerKernel::run()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00519">NEGEMMConvolutionLayer::run()</a>, <a class="el" href="_c_l_deconvolution_layer_upsample_kernel_8cpp_source.xhtml#l00042">CLDeconvolutionLayerUpsampleKernel::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_upsample_layer_kernel_8cpp_source.xhtml#l00044">CLUpsampleLayerKernel::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#l01792">NEPoolingLayerKernel::validate()</a>, <a class="el" href="_n_e_scale_8cpp_source.xhtml#l00183">NEScale::validate()</a>, <a class="el" href="_n_e_r_n_n_layer_8cpp_source.xhtml#l00042">NERNNLayer::validate()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00059">NEConvolutionLayerReshapeWeights::validate()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00066">CLConvolutionLayerReshapeWeights::validate()</a>, <a class="el" href="_n_e_depthwise_convolution_assembly_dispatch_8cpp_source.xhtml#l00320">NEDepthwiseConvolutionAssemblyDispatch::validate()</a>, <a class="el" href="_c_l_winograd_convolution_layer_8cpp_source.xhtml#l00149">CLWinogradConvolutionLayer::validate()</a>, <a class="el" href="_n_e_winograd_convolution_layer_8cpp_source.xhtml#l00587">NEWinogradConvolutionLayer::validate()</a>, <a class="el" href="_n_e_f_f_t_convolution_layer_8cpp_source.xhtml#l00252">NEFFTConvolutionLayer::validate()</a>, <a class="el" href="_c_l_f_f_t_convolution_layer_8cpp_source.xhtml#l00253">CLFFTConvolutionLayer::validate()</a>, <a class="el" href="_n_e_generate_proposals_layer_8cpp_source.xhtml#l00204">NEGenerateProposalsLayer::validate()</a>, <a class="el" href="_c_l_generate_proposals_layer_8cpp_source.xhtml#l00193">CLGenerateProposalsLayer::validate()</a>, <a class="el" href="_c_l_g_e_m_m_deconvolution_layer_8cpp_source.xhtml#l00093">CLGEMMDeconvolutionLayer::validate()</a>, <a class="el" href="_c_l_direct_deconvolution_layer_8cpp_source.xhtml#l00052">CLDirectDeconvolutionLayer::validate()</a>, <a class="el" href="_n_e_deconvolution_layer_8cpp_source.xhtml#l00057">NEDeconvolutionLayer::validate()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00385">NEGEMMConvolutionLayer::validate()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00400">CLGEMMConvolutionLayer::validate()</a>, <a class="el" href="_n_e_winograd_convolution_layer_kernel_8cpp_source.xhtml#l00216">INEWinogradLayerTransformWeightsKernel< T >::validate()</a>, and <a class="el" href="reference_2_winograd_8cpp_source.xhtml#l00440">arm_compute::test::validation::reference::winograd_output_transform()</a>.</p>
</div>
</div>
@@ -16861,12 +17663,12 @@
</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="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00099">99</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="l00100"></a><span class="lineno"> 100</span> {</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keywordflow">switch</span>(dt)</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">case</span> DataType::U8:</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordflow">case</span> DataType::QSYMM8:</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keywordflow">return</span> <span class="stringliteral">"8"</span>;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keywordflow">case</span> DataType::QSYMM16:</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keywordflow">return</span> <span class="stringliteral">"16"</span>;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordflow">return</span> <span class="stringliteral">"32"</span>;</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keywordflow">return</span> <span class="stringliteral">"64"</span>;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</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="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">return</span> <span class="stringliteral">"0"</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> }</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="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00152">152</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="l00153"></a><span class="lineno"> 153</span> {</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordflow">switch</span>(dt)</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">case</span> DataType::U8:</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keywordflow">case</span> DataType::QSYMM8:</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keywordflow">case</span> DataType::QSYMM8_PER_CHANNEL:</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keywordflow">return</span> <span class="stringliteral">"8"</span>;</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keywordflow">case</span> DataType::QSYMM16:</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keywordflow">case</span> DataType::QASYMM16:</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="keywordflow">return</span> <span class="stringliteral">"16"</span>;</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keywordflow">return</span> <span class="stringliteral">"32"</span>;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="keywordflow">return</span> <span class="stringliteral">"64"</span>;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Unsupported input data type."</span>);</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <span class="keywordflow">return</span> <span class="stringliteral">"0"</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="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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#ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6">QSYMM16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c">QSYMM8</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#l00352">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#ad8ed01ff3ff33333d8e19db4d2818bb6a3b989c6b5398b3b9538ad103a324205e">QASYMM16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6">QSYMM16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c">QSYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a34f500e941c4df30b870126ec868ebd5">QSYMM8_PER_CHANNEL</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_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#l00389">CLDirectConvolutionLayerKernel::configure()</a>.</p>
+<p class="reference">Referenced by <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_r_o_i_align_layer_kernel_8cpp_source.xhtml#l00105">CLROIAlignLayerKernel::configure()</a>, and <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00412">CLDirectConvolutionLayerKernel::configure()</a>.</p>
</div>
</div>
@@ -16914,12 +17716,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The dimension which this index is requested for. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00355">355</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</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>  <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#acf5f12bbab64dd614bd8220c97fe484f">data_layout</a> == DataLayout::UNKNOWN, <span class="stringliteral">"Cannot retrieve the dimension index for an unknown layout!"</span>);</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>  <span class="comment">/* Return the index based on the data layout</span></div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="comment"> * [N C H W]</span></div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="comment"> * [3 2 1 0]</span></div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="comment"> * [N H W C]</span></div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="comment"> */</span></div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <span class="keywordflow">switch</span>(index)</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">case</span> 0:</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  <span class="keywordflow">return</span> (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">data_layout</a> == DataLayout::NCHW) ? DataLayoutDimension::WIDTH : DataLayoutDimension::CHANNEL;</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> 1:</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  <span class="keywordflow">return</span> (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">data_layout</a> == DataLayout::NCHW) ? DataLayoutDimension::HEIGHT : DataLayoutDimension::WIDTH;</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> 2:</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  <span class="keywordflow">return</span> (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">data_layout</a> == DataLayout::NCHW) ? DataLayoutDimension::CHANNEL : DataLayoutDimension::HEIGHT;</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> 3:</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <span class="keywordflow">return</span> DataLayoutDimension::BATCHES;</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">default</span>:</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Index value not supported!"</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>  }</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</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_acf5f12bbab64dd614bd8220c97fe484f"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">arm_compute::test::validation::data_layout</a></div><div class="ttdeci">const DataLayout data_layout</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00146">Im2Col.cpp:146</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>
+<p class="definition">Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00356">356</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
+<div class="fragment"><div class="line"><a name="l00357"></a><span class="lineno"> 357</span> {</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <a class="code" href="_error_8h.xhtml#a0b0eb3235749a2909dc5a101afe59a1b">ARM_COMPUTE_ERROR_ON_MSG</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">data_layout</a> == DataLayout::UNKNOWN, <span class="stringliteral">"Cannot retrieve the dimension index for an unknown layout!"</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="comment">/* Return the index based on the data layout</span></div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="comment"> * [N C H W]</span></div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="comment"> * [3 2 1 0]</span></div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="comment"> * [N H W C]</span></div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="comment"> */</span></div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  <span class="keywordflow">switch</span>(index)</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> 0:</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <span class="keywordflow">return</span> (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">data_layout</a> == DataLayout::NCHW) ? DataLayoutDimension::WIDTH : DataLayoutDimension::CHANNEL;</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  <span class="keywordflow">case</span> 1:</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  <span class="keywordflow">return</span> (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">data_layout</a> == DataLayout::NCHW) ? DataLayoutDimension::HEIGHT : DataLayoutDimension::WIDTH;</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  <span class="keywordflow">case</span> 2:</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  <span class="keywordflow">return</span> (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">data_layout</a> == DataLayout::NCHW) ? DataLayoutDimension::CHANNEL : DataLayoutDimension::HEIGHT;</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <span class="keywordflow">case</span> 3:</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  <span class="keywordflow">return</span> DataLayoutDimension::BATCHES;</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Index value not supported!"</span>);</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  }</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_acf5f12bbab64dd614bd8220c97fe484f"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">arm_compute::test::validation::data_layout</a></div><div class="ttdeci">const DataLayout data_layout</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00146">Im2Col.cpp:146</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a0b0eb3235749a2909dc5a101afe59a1b"><div class="ttname"><a href="_error_8h.xhtml#a0b0eb3235749a2909dc5a101afe59a1b">ARM_COMPUTE_ERROR_ON_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_MSG(cond, msg)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00456">Error.h:456</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="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00146">arm_compute::test::validation::data_layout</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">References <a class="el" href="_error_8h_source.xhtml#l00352">ARM_COMPUTE_ERROR</a>, <a class="el" href="_error_8h_source.xhtml#l00456">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="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00146">arm_compute::test::validation::data_layout</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>
</div>
</div>
@@ -16956,8 +17758,8 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>the next power of two </dd></dl>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00775">775</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="l00776"></a><span class="lineno"> 776</span> {</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>  <span class="comment">// Decrement by 1</span></div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>  x--;</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="comment">// Shift right by 1</span></div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>  x |= x >> 1u;</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>  <span class="comment">// Shift right by 2</span></div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>  x |= x >> 2u;</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>  <span class="comment">// Shift right by 4</span></div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>  x |= x >> 4u;</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>  <span class="comment">// Shift right by 8</span></div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>  x |= x >> 8u;</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>  <span class="comment">// Shift right by 16</span></div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>  x |= x >> 16u;</div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span> </div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  <span class="comment">// Increment by 1</span></div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  x++;</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span> </div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>  <span class="keywordflow">return</span> x;</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00789">789</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="l00790"></a><span class="lineno"> 790</span> {</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  <span class="comment">// Decrement by 1</span></div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  x--;</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span> </div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>  <span class="comment">// Shift right by 1</span></div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>  x |= x >> 1u;</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>  <span class="comment">// Shift right by 2</span></div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span>  x |= x >> 2u;</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>  <span class="comment">// Shift right by 4</span></div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>  x |= x >> 4u;</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>  <span class="comment">// Shift right by 8</span></div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>  x |= x >> 8u;</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>  <span class="comment">// Shift right by 16</span></div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>  x |= x >> 16u;</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>  <span class="comment">// Increment by 1</span></div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>  x++;</div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span> </div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>  <span class="keywordflow">return</span> x;</div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span> }</div></div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="_i_c_l_kernel_8cpp_source.xhtml#l00039">enqueue()</a>.</p>
</div>
@@ -17007,10 +17809,10 @@
<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#l00726">726</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="l00727"></a><span class="lineno"> 727</span> {</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</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="l00729"></a><span class="lineno"> 729</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="l00730"></a><span class="lineno"> 730</span> </div><div class="line"><a name="l00731"></a><span class="lineno"> 731</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="l00732"></a><span class="lineno"> 732</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="fragment"><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="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="l00729"></a><span class="lineno"> 729</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="l00730"></a><span class="lineno"> 730</span> </div><div class="line"><a name="l00731"></a><span class="lineno"> 731</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="l00732"></a><span class="lineno"> 732</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#l00327">Helpers.inl:327</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">References <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02af52e9c50a060add65a035429b2a22229">CHANNEL</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00327">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>
@@ -17050,10 +17852,10 @@
</dl>
<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#l00519">519</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="l00520"></a><span class="lineno"> 520</span> {</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  {</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>  <span class="keywordflow">return</span> DataType::U16;</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  <span class="keywordflow">return</span> DataType::S16;</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  <span class="keywordflow">return</span> DataType::U32;</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>  <span class="keywordflow">case</span> DataType::QSYMM8:</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>  <span class="keywordflow">case</span> DataType::QSYMM8_PER_CHANNEL:</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>  <span class="keywordflow">case</span> DataType::QSYMM16:</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</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="l00540"></a><span class="lineno"> 540</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</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="l00542"></a><span class="lineno"> 542</span>  }</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  <span class="keywordflow">return</span> DataType::UNKNOWN;</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</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="arm__compute_2core_2_utils_8h_source.xhtml#l00523">523</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="l00524"></a><span class="lineno"> 524</span> {</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  {</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  <span class="keywordflow">return</span> DataType::U16;</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  <span class="keywordflow">return</span> DataType::S16;</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  <span class="keywordflow">return</span> DataType::U32;</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>  <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  <span class="keywordflow">case</span> DataType::QSYMM8:</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>  <span class="keywordflow">case</span> DataType::QASYMM8_SIGNED:</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>  <span class="keywordflow">case</span> DataType::QSYMM8_PER_CHANNEL:</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  <span class="keywordflow">case</span> DataType::QSYMM16:</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>  <span class="keywordflow">case</span> DataType::QASYMM16:</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Unsupported data type promotions!"</span>);</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Undefined data type!"</span>);</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>  }</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>  <span class="keywordflow">return</span> DataType::UNKNOWN;</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span> }</div><div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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#ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6">QSYMM16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c">QSYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a34f500e941c4df30b870126ec868ebd5">QSYMM8_PER_CHANNEL</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>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00352">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#ad8ed01ff3ff33333d8e19db4d2818bb6a3b989c6b5398b3b9538ad103a324205e">QASYMM16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a329f5d0c4b0c80e3474951d2c4435dd9">QASYMM8_SIGNED</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6">QSYMM16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c">QSYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a34f500e941c4df30b870126ec868ebd5">QSYMM8_PER_CHANNEL</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>
@@ -17075,8 +17877,8 @@
<p>Helper function to get the GPU target from GLES using GL_RENDERER enum. </p>
<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>
-<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#l00141">GPUTarget.cpp:141</a></div></div>
+<p class="definition">Definition at line <a class="el" href="core_2_g_l_e_s___c_o_m_p_u_t_e_2_g_c_helpers_8cpp_source.xhtml#l00030">30</a> of file <a class="el" href="core_2_g_l_e_s___c_o_m_p_u_t_e_2_g_c_helpers_8cpp_source.xhtml">GCHelpers.cpp</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>  <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="l00033"></a><span class="lineno"> 33</span> </div><div class="line"><a name="l00034"></a><span class="lineno"> 34</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="l00035"></a><span class="lineno"> 35</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#l00141">GPUTarget.cpp:141</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#l00141">get_target_from_name()</a>, and <a class="el" href="_open_g_l_e_s_8cpp_source.xhtml#l00672">glGetString()</a>.</p>
@@ -17108,12 +17910,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>the GPU target </dd></dl>
-<p class="definition">Definition at line <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00131">131</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="l00132"></a><span class="lineno"> 132</span> {</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="comment">// Query device name size</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  std::string device_name = device.getInfo<CL_DEVICE_NAME>();</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> <a class="code" href="namespacearm__compute.xhtml#a0dc6fb54ac0bbc7bf512fe0ca7414076">get_target_from_name</a>(device_name);</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</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#l00141">GPUTarget.cpp:141</a></div></div>
+<p class="definition">Definition at line <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00186">186</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="l00187"></a><span class="lineno"> 187</span> {</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="comment">// Query device name size</span></div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  std::string device_name = device.getInfo<CL_DEVICE_NAME>();</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="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a0dc6fb54ac0bbc7bf512fe0ca7414076">get_target_from_name</a>(device_name);</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</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#l00141">GPUTarget.cpp:141</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="src_2core_2_g_p_u_target_8cpp_source.xhtml#l00141">get_target_from_name()</a>.</p>
-<p class="reference">Referenced by <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l01043">CLKernelLibrary::create_kernel()</a>, <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l01221">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#l00127">ICLKernel::set_target()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l01070">CLKernelLibrary::create_kernel()</a>, <a class="el" href="_g_c_scheduler_8cpp_source.xhtml#l00055">GCScheduler::default_init_with_context()</a>, <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l01313">CLKernelLibrary::default_ndrange()</a>, <a class="el" href="_g_c_scheduler_8cpp_source.xhtml#l00063">GCScheduler::init()</a>, <a class="el" href="_c_l_scheduler_8cpp_source.xhtml#l00145">CLScheduler::init()</a>, and <a class="el" href="_i_c_l_kernel_8cpp_source.xhtml#l00127">ICLKernel::set_target()</a>.</p>
</div>
</div>
@@ -17148,7 +17950,7 @@
</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>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38">MIDGARD</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
-<p class="reference">Referenced by <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00149">dot8_supported()</a>, <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00131">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>
+<p class="reference">Referenced by <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00204">dot8_supported()</a>, <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00186">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>
@@ -17171,11 +17973,11 @@
<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#l00406">406</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="l00407"></a><span class="lineno"> 407</span> {</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> num_threads_hint = 1;</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="preprocessor">#ifndef BARE_METAL</span></div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  std::map<std::string, unsigned int> cpu_part_occurrence_map;</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="comment">// CPU part regex</span></div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  regex_t cpu_part_rgx;</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  memset(&cpu_part_rgx, 0, <span class="keyword">sizeof</span>(regex_t));</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</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="l00417"></a><span class="lineno"> 417</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="l00418"></a><span class="lineno"> 418</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="l00419"></a><span class="lineno"> 419</span> </div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  <span class="comment">// Read cpuinfo and get occurrence of each core</span></div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  std::ifstream cpuinfo;</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  cpuinfo.open(<span class="stringliteral">"/proc/cpuinfo"</span>, std::ios::in);</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  <span class="keywordflow">if</span>(cpuinfo.is_open())</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>  std::string line;</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  <span class="keywordflow">while</span>(<span class="keywordtype">bool</span>(getline(cpuinfo, line)))</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  {</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  std::array<regmatch_t, 2> match;</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  ret_status = regexec(&cpu_part_rgx, line.c_str(), 2, match.data(), 0);</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>  <span class="keywordflow">if</span>(ret_status == 0)</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>  std::string cpu_part = line.substr(match[1].rm_so, (match[1].rm_eo - match[1].rm_so));</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  <span class="keywordflow">if</span>(cpu_part_occurrence_map.find(cpu_part) != cpu_part_occurrence_map.end())</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  {</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  cpu_part_occurrence_map[cpu_part]++;</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  }</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  <span class="keywordflow">else</span></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>  cpu_part_occurrence_map[cpu_part] = 1;</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  }</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  }</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  }</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>  regfree(&cpu_part_rgx);</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="comment">// Get min number of threads</span></div><div class="line"><a name="l00447"></a><span class="lineno"> 447</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="l00448"></a><span class="lineno"> 448</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="l00449"></a><span class="lineno"> 449</span>  {</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  <span class="keywordflow">return</span> p1.second < p2.second;</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> </div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  <span class="comment">// Set thread hint</span></div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  num_threads_hint = cpu_part_occurrence_map.empty() ? std::thread::hardware_concurrency() : min_common_cores->second;</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span> <span class="preprocessor">#endif </span><span class="comment">/* BARE_METAL */</span><span class="preprocessor"></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="keywordflow">return</span> num_threads_hint;</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</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>
+<p class="definition">Definition at line <a class="el" href="_c_p_u_utils_8cpp_source.xhtml#l00401">401</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="l00402"></a><span class="lineno"> 402</span> {</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> num_threads_hint = 1;</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> <span class="preprocessor">#ifndef BARE_METAL</span></div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  std::map<std::string, unsigned int> cpu_part_occurrence_map;</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>  <span class="comment">// CPU part regex</span></div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  regex_t cpu_part_rgx;</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  memset(&cpu_part_rgx, 0, <span class="keyword">sizeof</span>(regex_t));</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</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="l00412"></a><span class="lineno"> 412</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="l00413"></a><span class="lineno"> 413</span> <span class="stringliteral"> <a class="code" href="_error_8h.xhtml#a0b0eb3235749a2909dc5a101afe59a1b">ARM_COMPUTE_ERROR_ON_MSG</a>(ret_status != 0, </span><span class="stringliteral">"Regex compilation failed."</span>);</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span> </div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  <span class="comment">// Read cpuinfo and get occurrence of each core</span></div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  std::ifstream cpuinfo;</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  cpuinfo.open(<span class="stringliteral">"/proc/cpuinfo"</span>, std::ios::in);</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  <span class="keywordflow">if</span>(cpuinfo.is_open())</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>  std::string line;</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  <span class="keywordflow">while</span>(<span class="keywordtype">bool</span>(getline(cpuinfo, line)))</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>  std::array<regmatch_t, 2> match;</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  ret_status = regexec(&cpu_part_rgx, line.c_str(), 2, match.data(), 0);</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  <span class="keywordflow">if</span>(ret_status == 0)</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 cpu_part = line.substr(match[1].rm_so, (match[1].rm_eo - match[1].rm_so));</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  <span class="keywordflow">if</span>(cpu_part_occurrence_map.find(cpu_part) != cpu_part_occurrence_map.end())</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>  cpu_part_occurrence_map[cpu_part]++;</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">else</span></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>  cpu_part_occurrence_map[cpu_part] = 1;</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  }</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  }</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  }</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  }</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  regfree(&cpu_part_rgx);</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="comment">// Get min number of threads</span></div><div class="line"><a name="l00442"></a><span class="lineno"> 442</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="l00443"></a><span class="lineno"> 443</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="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> p1.second < p2.second;</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> </div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  <span class="comment">// Set thread hint</span></div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  num_threads_hint = cpu_part_occurrence_map.empty() ? std::thread::hardware_concurrency() : min_common_cores->second;</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="preprocessor">#endif </span><span class="comment">/* BARE_METAL */</span><span class="preprocessor"></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> num_threads_hint;</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</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#l00152">Error.h:152</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a0b0eb3235749a2909dc5a101afe59a1b"><div class="ttname"><a href="_error_8h.xhtml#a0b0eb3235749a2909dc5a101afe59a1b">ARM_COMPUTE_ERROR_ON_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_MSG(cond, msg)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00456">Error.h:456</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">References <a class="el" href="_error_8h_source.xhtml#l00456">ARM_COMPUTE_ERROR_ON_MSG</a>, and <a class="el" href="_error_8h_source.xhtml#l00152">ARM_COMPUTE_UNUSED</a>.</p>
<p class="reference">Referenced by <a class="el" href="_i_scheduler_8cpp_source.xhtml#l00031">IScheduler::IScheduler()</a>.</p>
@@ -17206,10 +18008,10 @@
</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="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00126">126</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="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> <a class="code" href="namespacearm__compute.xhtml#a545eeda2eaa3f5a54345ce8169e21184">get_cl_type_from_data_type</a>(dt);</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</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>
+<p class="definition">Definition at line <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00181">181</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="l00182"></a><span class="lineno"> 182</span> {</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</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="l00184"></a><span class="lineno"> 184</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#l00037">CLHelpers.cpp:37</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">References <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00037">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#l00098">CLWidthConcatenate2TensorsKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate_layer_kernel_8cpp_source.xhtml#l00093">CLWidthConcatenateLayerKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate4_tensors_kernel_8cpp_source.xhtml#l00116">CLWidthConcatenate4TensorsKernel::configure()</a>, <a class="el" href="_c_l_stack_layer_kernel_8cpp_source.xhtml#l00084">CLStackLayerKernel::configure()</a>, <a class="el" href="_c_l_batch_concatenate_layer_kernel_8cpp_source.xhtml#l00090">CLBatchConcatenateLayerKernel::configure()</a>, and <a class="el" href="_c_l_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00085">CLDepthConcatenateLayerKernel::configure()</a>.</p>
@@ -17338,11 +18140,11 @@
</dl>
<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#l00552">552</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="l00553"></a><span class="lineno"> 553</span> {</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</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="l00555"></a><span class="lineno"> 555</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00558">558</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="l00559"></a><span class="lineno"> 559</span> {</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>  <span class="keywordflow">return</span> (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="l00561"></a><span class="lineno"> 561</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#l00657">adjust_odd_shape()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00684">calculate_subsampled_shape()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00663">adjust_odd_shape()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00690">calculate_subsampled_shape()</a>.</p>
</div>
</div>
@@ -17379,11 +18181,11 @@
</dl>
<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#l00563">563</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="l00564"></a><span class="lineno"> 564</span> {</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</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="l00566"></a><span class="lineno"> 566</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00569">569</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="l00570"></a><span class="lineno"> 570</span> {</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</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="l00572"></a><span class="lineno"> 572</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#l00657">adjust_odd_shape()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00684">calculate_subsampled_shape()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00663">adjust_odd_shape()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00690">calculate_subsampled_shape()</a>.</p>
</div>
</div>
@@ -17503,13 +18305,13 @@
</dl>
<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>
-<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>
+<p class="definition">Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00290">290</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
+<div class="fragment"><div class="line"><a name="l00291"></a><span class="lineno"> 291</span> {</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <span class="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="l00293"></a><span class="lineno"> 293</span> </div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <a class="code" href="_error_8h.xhtml#a0b0eb3235749a2909dc5a101afe59a1b">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="l00295"></a><span class="lineno"> 295</span>  <a class="code" href="_error_8h.xhtml#a0b0eb3235749a2909dc5a101afe59a1b">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="l00296"></a><span class="lineno"> 296</span> </div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  Coordinates coord{ 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>  <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="l00300"></a><span class="lineno"> 300</span>  {</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  num_elements /= <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>[d];</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  coord.set(d, index / num_elements);</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  index %= num_elements;</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> </div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <span class="keywordflow">return</span> coord;</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_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_a0b0eb3235749a2909dc5a101afe59a1b"><div class="ttname"><a href="_error_8h.xhtml#a0b0eb3235749a2909dc5a101afe59a1b">ARM_COMPUTE_ERROR_ON_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_MSG(cond, msg)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00456">Error.h:456</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">References <a class="el" href="_error_8h_source.xhtml#l00456">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>, <a class="el" href="_c_l_l_w_s_list_8cpp_source.xhtml#l00035">CLLWSListExhaustive::operator[]()</a>, <a class="el" href="_c_l_l_w_s_list_8cpp_source.xhtml#l00050">CLLWSListNormal::operator[]()</a>, and <a class="el" href="_n_e_g_e_m_m_interleaved_wrapper_8cpp_source.xhtml#l00196">NEGEMMInterleavedWrapper::prepare()</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="_c_l_l_w_s_list_8cpp_source.xhtml#l00035">CLLWSListExhaustive::operator[]()</a>, and <a class="el" href="_c_l_l_w_s_list_8cpp_source.xhtml#l00050">CLLWSListNormal::operator[]()</a>.</p>
</div>
</div>
@@ -17539,11 +18341,11 @@
<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#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 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#l00130">Utility.h:130</a></div></div>
</div><!-- fragment -->
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00246">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#l00247">ValidRegion::shape</a>.</p>
+<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00255">ValidRegion::anchor</a>, <a class="el" href="_utility_8h_source.xhtml#l00130">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#l00256">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#l00054">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#l00139">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>
+<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="_c_l_magnitude_phase_kernel_8cpp_source.xhtml#l00046">CLMagnitudePhaseKernel::configure()</a>, <a class="el" href="_c_l_channel_combine_kernel_8cpp_source.xhtml#l00054">CLChannelCombineKernel::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="_c_l_harris_corners_kernel_8cpp_source.xhtml#l00054">CLHarrisScoreKernel::configure()</a>, <a class="el" href="_c_l_color_convert_kernel_8cpp_source.xhtml#l00139">CLColorConvertKernel::configure()</a>, <a class="el" href="_n_e_color_convert_kernel_8cpp_source.xhtml#l00145">NEColorConvertKernel::configure()</a>, and <a class="el" href="_c_l_l_k_tracker_kernel_8cpp_source.xhtml#l00123">CLLKTrackerStage0Kernel::configure()</a>.</p>
</div>
</div>
@@ -17580,11 +18382,11 @@
</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#l00990">990</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="l00991"></a><span class="lineno"> 991</span> {</div><div class="line"><a name="l00992"></a><span class="lineno"> 992</span>  <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00993"></a><span class="lineno"> 993</span>  {</div><div class="line"><a name="l00994"></a><span class="lineno"> 994</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00995"></a><span class="lineno"> 995</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00996"></a><span class="lineno"> 996</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00997"></a><span class="lineno"> 997</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00998"></a><span class="lineno"> 998</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</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> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01002">1002</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="l01003"></a><span class="lineno"> 1003</span> {</div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>  <span class="keywordflow">switch</span>(dt)</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>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><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> }</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#l00073">CLDepthConvertLayerKernel::configure()</a>, <a class="el" href="_c_l_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00132">CLPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_c_l_mean_std_dev_8cpp_source.xhtml#l00067">CLMeanStdDev::configure()</a>, <a class="el" href="_c_l_reduction_operation_kernel_8cpp_source.xhtml#l00146">CLReductionOperationKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00305">CLGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00220">CLLogits1DMaxShiftExpSumKernel::configure()</a>, <a class="el" href="_n_e_depthwise_convolution_assembly_dispatch_8cpp_source.xhtml#l00361">NEDepthwiseConvolutionAssemblyDispatch::is_optimized_supported()</a>, and <a class="el" href="_c_l_mean_std_dev_8cpp_source.xhtml#l00049">CLMeanStdDev::validate()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="_c_l_depth_convert_layer_kernel_8cpp_source.xhtml#l00074">CLDepthConvertLayerKernel::configure()</a>, <a class="el" href="_c_l_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00132">CLPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_c_l_mean_std_dev_8cpp_source.xhtml#l00067">CLMeanStdDev::configure()</a>, <a class="el" href="_c_l_reduction_operation_kernel_8cpp_source.xhtml#l00145">CLReductionOperationKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00305">CLGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00221">CLLogits1DMaxShiftExpSumKernel::configure()</a>, <a class="el" href="_n_e_depthwise_convolution_assembly_dispatch_8cpp_source.xhtml#l00361">NEDepthwiseConvolutionAssemblyDispatch::is_optimized_supported()</a>, and <a class="el" href="_c_l_mean_std_dev_8cpp_source.xhtml#l00049">CLMeanStdDev::validate()</a>.</p>
</div>
</div>
@@ -17622,11 +18424,11 @@
</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#l01010">1010</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="l01011"></a><span class="lineno"> 1011</span> {</div><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>  <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>  {</div><div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>  <span class="keywordflow">case</span> DataType::QSYMM8:</div><div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>  <span class="keywordflow">case</span> DataType::QSYMM8_PER_CHANNEL:</div><div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>  <span class="keywordflow">case</span> DataType::QSYMM16:</div><div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>  }</div><div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> }</div></div><!-- fragment -->
-<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6">QSYMM16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c">QSYMM8</a>, and <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a34f500e941c4df30b870126ec868ebd5">QSYMM8_PER_CHANNEL</a>.</p>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01022">1022</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="l01023"></a><span class="lineno"> 1023</span> {</div><div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>  <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>  {</div><div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>  <span class="keywordflow">case</span> DataType::QSYMM8:</div><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>  <span class="keywordflow">case</span> DataType::QASYMM8_SIGNED:</div><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>  <span class="keywordflow">case</span> DataType::QSYMM8_PER_CHANNEL:</div><div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>  <span class="keywordflow">case</span> DataType::QSYMM16:</div><div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>  <span class="keywordflow">case</span> DataType::QASYMM16:</div><div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>  }</div><div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> }</div></div><!-- fragment -->
+<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a3b989c6b5398b3b9538ad103a324205e">QASYMM16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a329f5d0c4b0c80e3474951d2c4435dd9">QASYMM8_SIGNED</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6">QSYMM16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c">QSYMM8</a>, and <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a34f500e941c4df30b870126ec868ebd5">QSYMM8_PER_CHANNEL</a>.</p>
-<p class="reference">Referenced by <a class="el" href="_arithmetic_operations_8cpp_source.xhtml#l00158">arm_compute::test::validation::reference::arithmetic_operation()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00119">CLActivationLayerKernel::configure()</a>, <a class="el" href="_c_l_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00132">CLPixelWiseMultiplicationKernel::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#l00146">CLReductionOperationKernel::configure()</a>, <a class="el" href="_c_l_reduction_operation_8cpp_source.xhtml#l00139">CLReductionOperation::configure()</a>, <a class="el" href="_c_p_p_detection_post_process_layer_8cpp_source.xhtml#l00191">CPPDetectionPostProcessLayer::configure()</a>, <a class="el" href="_validate_8h_source.xhtml#l00562">error_on_mismatching_quantization_info()</a>, <a class="el" href="_c_l_reduction_operation_kernel_8cpp_source.xhtml#l00262">CLReductionOperationKernel::run()</a>, <a class="el" href="_n_e_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00694">NEPixelWiseMultiplicationKernel::run()</a>, <a class="el" href="_c_p_p_detection_post_process_layer_8cpp_source.xhtml#l00272">CPPDetectionPostProcessLayer::run()</a>, <a class="el" href="_space_to_batch_8cpp_source.xhtml#l00038">arm_compute::test::validation::reference::space_to_batch()</a>, and <a class="el" href="_c_l_reduction_operation_8cpp_source.xhtml#l00063">CLReductionOperation::validate()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="_arithmetic_operations_8cpp_source.xhtml#l00158">arm_compute::test::validation::reference::arithmetic_operation()</a>, <a class="el" href="_c_l_generate_proposals_layer_kernel_8cpp_source.xhtml#l00073">CLComputeAllAnchorsKernel::configure()</a>, <a class="el" href="_c_l_depth_convert_layer_kernel_8cpp_source.xhtml#l00074">CLDepthConvertLayerKernel::configure()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00119">CLActivationLayerKernel::configure()</a>, <a class="el" href="_c_l_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00132">CLPixelWiseMultiplicationKernel::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_bounding_box_transform_kernel_8cpp_source.xhtml#l00090">CLBoundingBoxTransformKernel::configure()</a>, <a class="el" href="_c_l_reduction_operation_kernel_8cpp_source.xhtml#l00145">CLReductionOperationKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_native_kernel_8cpp_source.xhtml#l00180">CLDepthwiseConvolutionLayerNativeKernel::configure()</a>, <a class="el" href="_c_p_p_detection_post_process_layer_8cpp_source.xhtml#l00191">CPPDetectionPostProcessLayer::configure()</a>, <a class="el" href="_n_e_detection_post_process_layer_8cpp_source.xhtml#l00042">NEDetectionPostProcessLayer::configure()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_native_kernel_8cpp_source.xhtml#l00500">NEDepthwiseConvolutionLayerNativeKernel::configure()</a>, <a class="el" href="_validate_8h_source.xhtml#l00562">error_on_mismatching_quantization_info()</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00432">needs_serialized_reduction()</a>, <a class="el" href="_space_to_batch_8cpp_source.xhtml#l00038">arm_compute::test::validation::reference::space_to_batch()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00066">CLConvolutionLayerReshapeWeights::validate()</a>, and <a class="el" href="_n_e_detection_post_process_layer_8cpp_source.xhtml#l00073">NEDetectionPostProcessLayer::validate()</a>.</p>
</div>
</div>
@@ -17663,11 +18465,52 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if data type is of asymmetric quantized type, else false. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01030">1030</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="l01031"></a><span class="lineno"> 1031</span> {</div><div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>  <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>  {</div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</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> }</div></div><!-- fragment -->
-<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>.</p>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01044">1044</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="l01045"></a><span class="lineno"> 1045</span> {</div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>  <span class="keywordflow">switch</span>(dt)</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">case</span> DataType::QASYMM8:</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>  <span class="keywordflow">case</span> DataType::QASYMM8_SIGNED:</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>  <span class="keywordflow">case</span> DataType::QASYMM16:</div><div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>  <span class="keywordflow">return</span> <span class="keyword">false</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> }</div></div><!-- fragment -->
+<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a3b989c6b5398b3b9538ad103a324205e">QASYMM16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, and <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a329f5d0c4b0c80e3474951d2c4435dd9">QASYMM8_SIGNED</a>.</p>
-<p class="reference">Referenced by <a class="el" href="_graph_builder_8cpp_source.xhtml#l00213">GraphBuilder::add_convolution_node()</a>, <a class="el" href="_graph_builder_8cpp_source.xhtml#l00270">GraphBuilder::add_deconvolution_node()</a>, <a class="el" href="_graph_builder_8cpp_source.xhtml#l00326">GraphBuilder::add_depthwise_convolution_node()</a>, <a class="el" href="_graph_builder_8cpp_source.xhtml#l00478">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#l00227">CLDepthwiseConvolutionLayer3x3NCHWKernel::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_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00178">CLDepthwiseConvolutionLayer3x3NHWCKernel::configure()</a>, <a class="el" href="_c_l_dequantization_layer_kernel_8cpp_source.xhtml#l00077">CLDequantizationLayerKernel::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#l00119">CLActivationLayerKernel::configure()</a>, <a class="el" href="_c_l_comparison_kernel_8cpp_source.xhtml#l00113">CLComparisonKernel::configure()</a>, <a class="el" href="_c_l_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00132">CLPixelWiseMultiplicationKernel::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_width_concatenate2_tensors_kernel_8cpp_source.xhtml#l00098">CLWidthConcatenate2TensorsKernel::configure()</a>, <a class="el" href="_c_l_height_concatenate_layer_kernel_8cpp_source.xhtml#l00092">CLHeightConcatenateLayerKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate_layer_kernel_8cpp_source.xhtml#l00093">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#l00116">CLWidthConcatenate4TensorsKernel::configure()</a>, <a class="el" href="_c_l_batch_concatenate_layer_kernel_8cpp_source.xhtml#l00090">CLBatchConcatenateLayerKernel::configure()</a>, <a class="el" href="_c_l_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00085">CLDepthConcatenateLayerKernel::configure()</a>, <a class="el" href="_c_l_depthwise_im2_col_kernel_8cpp_source.xhtml#l00066">CLDepthwiseIm2ColKernel::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="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00389">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_depthwise_convolution_layer_8cpp_source.xhtml#l00188">NEDepthwiseConvolutionLayer3x3::configure()</a>, <a class="el" href="_c_l_g_e_m_m_deconvolution_layer_8cpp_source.xhtml#l00186">CLGEMMDeconvolutionLayer::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#l00140">CLFullyConnectedLayer::configure()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00241">NEGEMMConvolutionLayer::configure()</a>, <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00220">CLLogits1DMaxShiftExpSumKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00177">CLGEMMConvolutionLayer::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_8cpp_source.xhtml#l00256">CLDepthwiseConvolutionLayer::configure()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00517">NEDepthwiseConvolutionLayerOptimized::configure()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00711">NEDepthwiseConvolutionLayer::configure()</a>, <a class="el" href="_function_helpers_8h_source.xhtml#l00350">arm_compute::graph::backends::detail::create_concatenate_layer()</a>, <a class="el" href="_function_helpers_8h_source.xhtml#l00407">arm_compute::graph::backends::detail::create_convolution_layer()</a>, <a class="el" href="_g_c_functions_factory_8cpp_source.xhtml#l00072">arm_compute::graph::backends::detail::create_convolution_layer< GCConvolutionLayerFunctions, GCTargetInfo >()</a>, <a class="el" href="_n_e_function_factory_8cpp_source.xhtml#l00092">arm_compute::graph::backends::detail::create_convolution_layer< NEConvolutionLayerFunctions, NETargetInfo >()</a>, <a class="el" href="_function_helpers_8h_source.xhtml#l00541">arm_compute::graph::backends::detail::create_depthwise_convolution_layer()</a>, <a class="el" href="_g_c_functions_factory_8cpp_source.xhtml#l00125">arm_compute::graph::backends::detail::create_depthwise_convolution_layer< GCDepthwiseConvolutionLayerFunctions, GCTargetInfo >()</a>, <a class="el" href="_function_helpers_8h_source.xhtml#l00814">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="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_depthwise_convolution_assembly_dispatch_8cpp_source.xhtml#l00361">NEDepthwiseConvolutionAssemblyDispatch::is_optimized_supported()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00324">CLDepthwiseConvolutionLayer3x3NHWCKernel::run()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00278">set_quantization_info_if_empty()</a>, <a class="el" href="reference_2_upsample_layer_8cpp_source.xhtml#l00088">arm_compute::test::validation::reference::upsample_layer()</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#l00230">NEDepthwiseConvolutionLayer3x3::validate()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_8cpp_source.xhtml#l00139">CLDepthwiseConvolutionLayer3x3::validate()</a>, <a class="el" href="_n_e_g_e_m_m_lowp_matrix_multiply_core_8cpp_source.xhtml#l00224">NEGEMMLowpMatrixMultiplyCore::validate()</a>, <a class="el" href="_n_e_deconvolution_layer_8cpp_source.xhtml#l00057">NEDeconvolutionLayer::validate()</a>, <a class="el" href="_c_l_g_e_m_m_deconvolution_layer_8cpp_source.xhtml#l00093">CLGEMMDeconvolutionLayer::validate()</a>, <a class="el" href="_c_l_direct_deconvolution_layer_8cpp_source.xhtml#l00052">CLDirectDeconvolutionLayer::validate()</a>, <a class="el" href="_n_e_fully_connected_layer_8cpp_source.xhtml#l00245">NEFullyConnectedLayer::validate()</a>, <a class="el" href="_c_l_fully_connected_layer_8cpp_source.xhtml#l00249">CLFullyConnectedLayer::validate()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00397">NEGEMMConvolutionLayer::validate()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00373">CLGEMMConvolutionLayer::validate()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_8cpp_source.xhtml#l00380">CLDepthwiseConvolutionLayer::validate()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00560">NEDepthwiseConvolutionLayerOptimized::validate()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00858">NEDepthwiseConvolutionLayer::validate()</a>, and <a class="el" href="_validate_helpers_8h_source.xhtml#l00114">arm_compute::graph::backends::detail::validate_convolution_layer()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="_graph_builder_8cpp_source.xhtml#l00213">GraphBuilder::add_convolution_node()</a>, <a class="el" href="_graph_builder_8cpp_source.xhtml#l00270">GraphBuilder::add_deconvolution_node()</a>, <a class="el" href="_graph_builder_8cpp_source.xhtml#l00326">GraphBuilder::add_depthwise_convolution_node()</a>, <a class="el" href="_graph_builder_8cpp_source.xhtml#l00483">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_g_e_m_m_matrix_vector_multiply_kernel_8cpp_source.xhtml#l00083">CLGEMMMatrixVectorMultiplyKernel::configure()</a>, <a class="el" href="_c_l_dequantization_layer_kernel_8cpp_source.xhtml#l00077">CLDequantizationLayerKernel::configure()</a>, <a class="el" href="_n_e_pooling_layer_8cpp_source.xhtml#l00038">NEPoolingLayer::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_c_h_w_kernel_8cpp_source.xhtml#l00243">CLDepthwiseConvolutionLayer3x3NCHWKernel::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#l00119">CLActivationLayerKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00197">CLDepthwiseConvolutionLayer3x3NHWCKernel::configure()</a>, <a class="el" href="_c_l_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00132">CLPixelWiseMultiplicationKernel::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_width_concatenate2_tensors_kernel_8cpp_source.xhtml#l00098">CLWidthConcatenate2TensorsKernel::configure()</a>, <a class="el" href="_c_l_height_concatenate_layer_kernel_8cpp_source.xhtml#l00093">CLHeightConcatenateLayerKernel::configure()</a>, <a class="el" href="_g_c_convolution_layer_8cpp_source.xhtml#l00044">GCConvolutionLayerReshapeWeights::configure()</a>, <a class="el" href="_c_l_width_concatenate_layer_kernel_8cpp_source.xhtml#l00093">CLWidthConcatenateLayerKernel::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#l00116">CLWidthConcatenate4TensorsKernel::configure()</a>, <a class="el" href="_c_l_batch_concatenate_layer_kernel_8cpp_source.xhtml#l00090">CLBatchConcatenateLayerKernel::configure()</a>, <a class="el" href="_c_l_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00085">CLDepthConcatenateLayerKernel::configure()</a>, <a class="el" href="_c_l_r_o_i_align_layer_kernel_8cpp_source.xhtml#l00105">CLROIAlignLayerKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00049">CLConvolutionLayerReshapeWeights::configure()</a>, <a class="el" href="_c_l_softmax_layer_8cpp_source.xhtml#l00075">CLSoftmaxLayerGeneric< IS_LOG >::configure()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00044">NEConvolutionLayerReshapeWeights::configure()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00412">CLDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_n_e_softmax_layer_8cpp_source.xhtml#l00074">NESoftmaxLayerGeneric< IS_LOG >::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_core_8cpp_source.xhtml#l00083">CLGEMMLowpMatrixMultiplyCore::configure()</a>, <a class="el" href="_c_l_g_e_m_m_deconvolution_layer_8cpp_source.xhtml#l00186">CLGEMMDeconvolutionLayer::configure()</a>, <a class="el" href="_c_l_softmax_layer_kernel_8cpp_source.xhtml#l00221">CLLogits1DMaxShiftExpSumKernel::configure()</a>, <a class="el" href="_n_e_fully_connected_layer_8cpp_source.xhtml#l00140">NEFullyConnectedLayer::configure()</a>, <a class="el" href="_c_l_fully_connected_layer_8cpp_source.xhtml#l00207">CLFullyConnectedLayer::configure()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00235">NEGEMMConvolutionLayer::configure()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00181">CLGEMMConvolutionLayer::configure()</a>, <a class="el" href="_function_helpers_8h_source.xhtml#l00367">arm_compute::graph::backends::detail::create_concatenate_layer()</a>, <a class="el" href="_function_helpers_8h_source.xhtml#l00424">arm_compute::graph::backends::detail::create_convolution_layer()</a>, <a class="el" href="_g_c_functions_factory_8cpp_source.xhtml#l00073">arm_compute::graph::backends::detail::create_convolution_layer< GCConvolutionLayerFunctions, GCTargetInfo >()</a>, <a class="el" href="_n_e_function_factory_8cpp_source.xhtml#l00085">arm_compute::graph::backends::detail::create_convolution_layer< NEConvolutionLayerFunctions, NETargetInfo >()</a>, <a class="el" href="_function_helpers_8h_source.xhtml#l00558">arm_compute::graph::backends::detail::create_depthwise_convolution_layer()</a>, <a class="el" href="_g_c_functions_factory_8cpp_source.xhtml#l00126">arm_compute::graph::backends::detail::create_depthwise_convolution_layer< GCDepthwiseConvolutionLayerFunctions, GCTargetInfo >()</a>, <a class="el" href="_function_helpers_8h_source.xhtml#l00860">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="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_depthwise_convolution_assembly_dispatch_8cpp_source.xhtml#l00361">NEDepthwiseConvolutionAssemblyDispatch::is_optimized_supported()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00279">set_quantization_info_if_empty()</a>, <a class="el" href="reference_2_upsample_layer_8cpp_source.xhtml#l00088">arm_compute::test::validation::reference::upsample_layer()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00059">NEConvolutionLayerReshapeWeights::validate()</a>, <a class="el" href="_c_l_softmax_layer_8cpp_source.xhtml#l00155">CLSoftmaxLayerGeneric< IS_LOG >::validate()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_core_8cpp_source.xhtml#l00272">CLGEMMLowpMatrixMultiplyCore::validate()</a>, <a class="el" href="_n_e_deconvolution_layer_8cpp_source.xhtml#l00057">NEDeconvolutionLayer::validate()</a>, <a class="el" href="_c_l_direct_deconvolution_layer_8cpp_source.xhtml#l00052">CLDirectDeconvolutionLayer::validate()</a>, <a class="el" href="_c_l_g_e_m_m_deconvolution_layer_8cpp_source.xhtml#l00093">CLGEMMDeconvolutionLayer::validate()</a>, <a class="el" href="_n_e_fully_connected_layer_8cpp_source.xhtml#l00269">NEFullyConnectedLayer::validate()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00385">NEGEMMConvolutionLayer::validate()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00400">CLGEMMConvolutionLayer::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="a84437d80241f6a31e1a07c231ee8e3ac"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a84437d80241f6a31e1a07c231ee8e3ac">◆ </a></span>is_data_type_quantized_per_channel()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool arm_compute::is_data_type_quantized_per_channel </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> </td>
+ <td class="paramname"><em>dt</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Check if a given data type is of per channel type. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Input data type.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>True if data type is of per channel type, else false. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01082">1082</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="l01083"></a><span class="lineno"> 1083</span> {</div><div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>  <span class="keywordflow">switch</span>(dt)</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">case</span> DataType::QSYMM8_PER_CHANNEL:</div><div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</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> }</div></div><!-- fragment -->
+<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a34f500e941c4df30b870126ec868ebd5">QSYMM8_PER_CHANNEL</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_c_l_tensor_allocator_8cpp_source.xhtml#l00127">CLTensorAllocator::allocate()</a>, <a class="el" href="_asymm_helpers_8cpp_source.xhtml#l00176">arm_compute::quantization::compute_quantized_multipliers_and_shifts()</a>, <a class="el" href="_c_l_dequantization_layer_kernel_8cpp_source.xhtml#l00077">CLDequantizationLayerKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_c_h_w_kernel_8cpp_source.xhtml#l00243">CLDepthwiseConvolutionLayer3x3NCHWKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00197">CLDepthwiseConvolutionLayer3x3NHWCKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_native_kernel_8cpp_source.xhtml#l00180">CLDepthwiseConvolutionLayerNativeKernel::configure()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_native_kernel_8cpp_source.xhtml#l00500">NEDepthwiseConvolutionLayerNativeKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_core_8cpp_source.xhtml#l00083">CLGEMMLowpMatrixMultiplyCore::configure()</a>, <a class="el" href="_n_e_g_e_m_m_lowp_matrix_multiply_core_8cpp_source.xhtml#l00051">NEGEMMLowpMatrixMultiplyCore::configure()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00181">CLGEMMConvolutionLayer::configure()</a>, <a class="el" href="_c_l_dequantization_layer_kernel_8cpp_source.xhtml#l00132">CLDequantizationLayerKernel::run()</a>, <a class="el" href="_n_e_g_e_m_m_assembly_dispatch_8cpp_source.xhtml#l00452">NEGEMMAssemblyDispatch::validate()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_core_8cpp_source.xhtml#l00272">CLGEMMLowpMatrixMultiplyCore::validate()</a>, <a class="el" href="_n_e_g_e_m_m_lowp_matrix_multiply_core_8cpp_source.xhtml#l00281">NEGEMMLowpMatrixMultiplyCore::validate()</a>, and <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00400">CLGEMMConvolutionLayer::validate()</a>.</p>
</div>
</div>
@@ -17704,10 +18547,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#l01047">1047</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="l01048"></a><span class="lineno"> 1048</span> {</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>  <span class="keywordflow">switch</span>(dt)</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">case</span> DataType::QSYMM8:</div><div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>  <span class="keywordflow">case</span> DataType::QSYMM8_PER_CHANNEL:</div><div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>  <span class="keywordflow">case</span> DataType::QSYMM16:</div><div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>  <span class="keywordflow">return</span> <span class="keyword">false</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><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01063">1063</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="l01064"></a><span class="lineno"> 1064</span> {</div><div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>  <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>  {</div><div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>  <span class="keywordflow">case</span> DataType::QSYMM8:</div><div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>  <span class="keywordflow">case</span> DataType::QSYMM8_PER_CHANNEL:</div><div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>  <span class="keywordflow">case</span> DataType::QSYMM16:</div><div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>  }</div><div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> }</div></div><!-- fragment -->
<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6">QSYMM16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c">QSYMM8</a>, and <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a34f500e941c4df30b870126ec868ebd5">QSYMM8_PER_CHANNEL</a>.</p>
+<p class="reference">Referenced by <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_core_8cpp_source.xhtml#l00083">CLGEMMLowpMatrixMultiplyCore::configure()</a>, and <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_core_8cpp_source.xhtml#l00272">CLGEMMLowpMatrixMultiplyCore::validate()</a>.</p>
+
</div>
</div>
<a id="a0a7bb17a0a0414a7162f635776a02eb5"></a>
@@ -17735,12 +18580,67 @@
</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#l00327">327</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="l00328"></a><span class="lineno"> 328</span> {</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  std::string res = val;</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</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="l00331"></a><span class="lineno"> 331</span>  <span class="keywordflow">return</span> res;</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</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>
+<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00333">333</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="l00334"></a><span class="lineno"> 334</span> {</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  std::string res = val;</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</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="l00337"></a><span class="lineno"> 337</span>  <span class="keywordflow">return</span> res;</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</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#l00203">Utility.h:203</a></div></div>
</div><!-- fragment -->
-<p class="reference">References <a class="el" href="_utility_8h_source.xhtml#l00188">arm_compute::utility::tolower()</a>.</p>
+<p class="reference">References <a class="el" href="_utility_8h_source.xhtml#l00203">arm_compute::utility::tolower()</a>.</p>
-<p class="reference">Referenced by <a class="el" href="_c_l_integral_image_kernel_8cpp_source.xhtml#l00039">CLIntegralImageHorKernel::configure()</a>, <a class="el" href="_c_l_median3x3_kernel_8cpp_source.xhtml#l00039">CLMedian3x3Kernel::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_c_h_w_kernel_8cpp_source.xhtml#l00227">CLDepthwiseConvolutionLayer3x3NCHWKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00178">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_gaussian_pyramid_kernel_8cpp_source.xhtml#l00044">CLGaussianPyramidHorKernel::configure()</a>, <a class="el" href="_c_l_reverse_kernel_8cpp_source.xhtml#l00068">CLReverseKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00040">CLGradientKernel::configure()</a>, <a class="el" href="_c_l_histogram_kernel_8cpp_source.xhtml#l00053">CLHistogramKernel::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_depth_to_space_layer_kernel_8cpp_source.xhtml#l00066">CLDepthToSpaceLayerKernel::configure()</a>, <a class="el" href="_c_l_space_to_depth_layer_kernel_8cpp_source.xhtml#l00067">CLSpaceToDepthLayerKernel::configure()</a>, <a class="el" href="_c_l_upsample_layer_kernel_8cpp_source.xhtml#l00066">CLUpsampleLayerKernel::configure()</a>, <a class="el" href="_c_l_tile_kernel_8cpp_source.xhtml#l00068">CLTileKernel::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#l00090">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_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_mean_std_dev_normalization_kernel_8cpp_source.xhtml#l00085">CLMeanStdDevNormalizationKernel::configure()</a>, <a class="el" href="_c_l_f_f_t_scale_kernel_8cpp_source.xhtml#l00078">CLFFTScaleKernel::configure()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00119">CLActivationLayerKernel::configure()</a>, <a class="el" href="_c_l_sobel3x3_kernel_8cpp_source.xhtml#l00050">CLSobel3x3Kernel::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_concatenate2_tensors_kernel_8cpp_source.xhtml#l00098">CLWidthConcatenate2TensorsKernel::configure()</a>, <a class="el" href="_g_c_fill_border_kernel_8cpp_source.xhtml#l00060">GCFillBorderKernel::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_f_f_t_digit_reverse_kernel_8cpp_source.xhtml#l00075">CLFFTDigitReverseKernel::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#l00184">CLPoolingLayerKernel::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_g_e_m_m_matrix_addition_kernel_8cpp_source.xhtml#l00079">CLGEMMMatrixAdditionKernel::configure()</a>, <a class="el" href="_c_l_color_convert_kernel_8cpp_source.xhtml#l00048">CLColorConvertKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate4_tensors_kernel_8cpp_source.xhtml#l00116">CLWidthConcatenate4TensorsKernel::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_f_f_t_radix_stage_kernel_8cpp_source.xhtml#l00085">CLFFTRadixStageKernel::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_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_integral_image_kernel_8cpp_source.xhtml#l00085">CLIntegralImageVertKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_native_kernel_8cpp_source.xhtml#l00212">CLGEMMMatrixMultiplyNativeKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_kernel_8cpp_source.xhtml#l00173">CLGEMMLowpMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_batch_normalization_layer_kernel_8cpp_source.xhtml#l00139">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_harris_corners_kernel_8cpp_source.xhtml#l00054">CLHarrisScoreKernel::configure()</a>, <a class="el" href="_c_l_strided_slice_kernel_8cpp_source.xhtml#l00104">CLStridedSliceKernel::configure()</a>, <a class="el" href="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00050">CLFastCornersKernel::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_reshaped_only_r_h_s_kernel_8cpp_source.xhtml#l00215">CLGEMMMatrixMultiplyReshapedOnlyRHSKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00305">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_direct_convolution_layer_kernel_8cpp_source.xhtml#l00389">CLDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_c_l_deconvolution_reshape_output_kernel_8cpp_source.xhtml#l00120">CLDeconvolutionReshapeOutputKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_reshaped_kernel_8cpp_source.xhtml#l00214">CLGEMMMatrixMultiplyReshapedKernel::configure()</a>, <a class="el" href="_c_l_col2_im_kernel_8cpp_source.xhtml#l00091">CLCol2ImKernel::configure()</a>, <a class="el" href="_c_l_im2_col_kernel_8cpp_source.xhtml#l00294">CLIm2ColKernel::configure()</a>, <a class="el" href="_c_l_histogram_kernel_8cpp_source.xhtml#l00158">CLHistogramBorderKernel::configure()</a>, <a class="el" href="_c_l_gaussian_pyramid_kernel_8cpp_source.xhtml#l00150">CLGaussianPyramidVertKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00120">CLEdgeNonMaxSuppressionKernel::configure()</a>, <a class="el" href="_c_l_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00139">CLHOGBlockNormalizationKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00130">CLSeparableConvolutionHorKernel< matrix_size >::configure()</a>, <a class="el" href="_c_l_sobel7x7_kernel_8cpp_source.xhtml#l00150">CLSobel7x7VertKernel::configure()</a>, <a class="el" href="_c_l_sobel5x5_kernel_8cpp_source.xhtml#l00148">CLSobel5x5VertKernel::configure()</a>, <a class="el" href="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00133">CLCopyToArrayKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00199">CLSeparableConvolutionVertKernel< matrix_size >::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00194">CLEdgeTraceKernel::configure()</a>, and <a class="el" href="_graph_utils_8h_source.xhtml#l00464">arm_compute::graph_utils::get_input_accessor()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="_c_l_integral_image_kernel_8cpp_source.xhtml#l00039">CLIntegralImageHorKernel::configure()</a>, <a class="el" href="_c_l_median3x3_kernel_8cpp_source.xhtml#l00039">CLMedian3x3Kernel::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_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_gaussian_pyramid_kernel_8cpp_source.xhtml#l00044">CLGaussianPyramidHorKernel::configure()</a>, <a class="el" href="_c_l_reverse_kernel_8cpp_source.xhtml#l00068">CLReverseKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00040">CLGradientKernel::configure()</a>, <a class="el" href="_c_l_histogram_kernel_8cpp_source.xhtml#l00053">CLHistogramKernel::configure()</a>, <a class="el" href="_c_l_normalization_layer_kernel_8cpp_source.xhtml#l00107">CLNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_depth_to_space_layer_kernel_8cpp_source.xhtml#l00066">CLDepthToSpaceLayerKernel::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_depth_layer_kernel_8cpp_source.xhtml#l00067">CLSpaceToDepthLayerKernel::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_depthwise_convolution_layer3x3_n_c_h_w_kernel_8cpp_source.xhtml#l00243">CLDepthwiseConvolutionLayer3x3NCHWKernel::configure()</a>, <a class="el" href="_c_l_space_to_batch_layer_kernel_8cpp_source.xhtml#l00090">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_tile_kernel_8cpp_source.xhtml#l00068">CLTileKernel::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_mean_std_dev_normalization_kernel_8cpp_source.xhtml#l00085">CLMeanStdDevNormalizationKernel::configure()</a>, <a class="el" href="_c_l_f_f_t_scale_kernel_8cpp_source.xhtml#l00078">CLFFTScaleKernel::configure()</a>, <a class="el" href="_c_l_depth_convert_layer_kernel_8cpp_source.xhtml#l00074">CLDepthConvertLayerKernel::configure()</a>, <a class="el" href="_c_l_sobel3x3_kernel_8cpp_source.xhtml#l00050">CLSobel3x3Kernel::configure()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00119">CLActivationLayerKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00197">CLDepthwiseConvolutionLayer3x3NHWCKernel::configure()</a>, <a class="el" href="_c_l_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00048">CLHOGOrientationBinningKernel::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_f_f_t_digit_reverse_kernel_8cpp_source.xhtml#l00075">CLFFTDigitReverseKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate2_tensors_kernel_8cpp_source.xhtml#l00098">CLWidthConcatenate2TensorsKernel::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_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_pooling_layer_kernel_8cpp_source.xhtml#l00184">CLPoolingLayerKernel::configure()</a>, <a class="el" href="_c_l_color_convert_kernel_8cpp_source.xhtml#l00048">CLColorConvertKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate4_tensors_kernel_8cpp_source.xhtml#l00116">CLWidthConcatenate4TensorsKernel::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_f_f_t_radix_stage_kernel_8cpp_source.xhtml#l00085">CLFFTRadixStageKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_reshape_l_h_s_matrix_kernel_8cpp_source.xhtml#l00122">CLGEMMReshapeLHSMatrixKernel::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_integral_image_kernel_8cpp_source.xhtml#l00085">CLIntegralImageVertKernel::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_native_kernel_8cpp_source.xhtml#l00213">CLGEMMMatrixMultiplyNativeKernel::configure()</a>, <a class="el" href="_c_l_batch_normalization_layer_kernel_8cpp_source.xhtml#l00139">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_harris_corners_kernel_8cpp_source.xhtml#l00054">CLHarrisScoreKernel::configure()</a>, <a class="el" href="_c_l_strided_slice_kernel_8cpp_source.xhtml#l00104">CLStridedSliceKernel::configure()</a>, <a class="el" href="_c_l_winograd_output_transform_kernel_8cpp_source.xhtml#l00138">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_depthwise_convolution_layer_native_kernel_8cpp_source.xhtml#l00180">CLDepthwiseConvolutionLayerNativeKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_reshaped_only_r_h_s_kernel_8cpp_source.xhtml#l00216">CLGEMMMatrixMultiplyReshapedOnlyRHSKernel::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_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00305">CLGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_deconvolution_reshape_output_kernel_8cpp_source.xhtml#l00115">CLDeconvolutionReshapeOutputKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00412">CLDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_c_l_col2_im_kernel_8cpp_source.xhtml#l00091">CLCol2ImKernel::configure()</a>, <a class="el" href="_c_l_im2_col_kernel_8cpp_source.xhtml#l00294">CLIm2ColKernel::configure()</a>, <a class="el" href="_c_l_histogram_kernel_8cpp_source.xhtml#l00158">CLHistogramBorderKernel::configure()</a>, <a class="el" href="_c_l_gaussian_pyramid_kernel_8cpp_source.xhtml#l00150">CLGaussianPyramidVertKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00120">CLEdgeNonMaxSuppressionKernel::configure()</a>, <a class="el" href="_c_l_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00139">CLHOGBlockNormalizationKernel::configure()</a>, <a class="el" href="_c_l_sobel5x5_kernel_8cpp_source.xhtml#l00148">CLSobel5x5VertKernel::configure()</a>, <a class="el" href="_c_l_sobel7x7_kernel_8cpp_source.xhtml#l00150">CLSobel7x7VertKernel::configure()</a>, <a class="el" href="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00133">CLCopyToArrayKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00194">CLEdgeTraceKernel::configure()</a>, and <a class="el" href="_graph_utils_8h_source.xhtml#l00497">arm_compute::graph_utils::get_input_accessor()</a>.</p>
+
+</div>
+</div>
+<a id="a28029771f7c2cd8bbe2855303d38f71f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a28029771f7c2cd8bbe2855303d38f71f">◆ </a></span>needs_serialized_reduction()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool needs_serialized_reduction </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45b">ReductionOperation</a> </td>
+ <td class="paramname"><em>op</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">unsigned int </td>
+ <td class="paramname"><em>axis</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Check if the given reduction operation should be handled in a serial way. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">op</td><td>Reduction operation to perform </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Data type </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">axis</td><td>Axis along which to reduce</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>True if the given reduction operation should be handled in a serial way. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00432">432</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="l00433"></a><span class="lineno"> 433</span> {</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  <span class="keyword">const</span> <span class="keywordtype">bool</span> is_arg_min_max = (op == ReductionOperation::ARG_IDX_MAX || op == ReductionOperation::ARG_IDX_MIN);</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  <span class="keyword">const</span> <span class="keywordtype">bool</span> is_min_max = (op == <a class="code" href="elementwise__operation_8cl.xhtml#aacc3ee1a7f283f8ef65cea31f4436a95">ReductionOperation::MAX</a> || op == <a class="code" href="elementwise__operation_8cl.xhtml#a74e75242132eaabbc1c512488a135926">ReductionOperation::MIN</a>);</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  <span class="keyword">const</span> <span class="keywordtype">bool</span> is_quantized_type = <a class="code" href="namespacearm__compute.xhtml#a0bee325b210f81bb89fe1f9e15badf9c">is_data_type_quantized</a>(dt);</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  <span class="keyword">const</span> <span class="keywordtype">bool</span> is_first_dim = (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#accc088009d44c521706aa98d6387ee21">axis</a> == 0);</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">return</span> !is_first_dim || is_arg_min_max || is_min_max || is_quantized_type;</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a0bee325b210f81bb89fe1f9e15badf9c"><div class="ttname"><a href="namespacearm__compute.xhtml#a0bee325b210f81bb89fe1f9e15badf9c">arm_compute::is_data_type_quantized</a></div><div class="ttdeci">bool is_data_type_quantized(DataType dt)</div><div class="ttdoc">Check if a given data type is of quantized type.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l01022">Utils.h:1022</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 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><!-- 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="_n_e_o_n_2_stack_layer_8cpp_source.xhtml#l00226">arm_compute::test::validation::axis</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01022">is_data_type_quantized()</a>, <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a>, and <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653">MIN</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_c_l_reduction_operation_8cpp_source.xhtml#l00217">CLReductionOperation::configure()</a>, <a class="el" href="_c_l_reduction_operation_kernel_8cpp_source.xhtml#l00145">CLReductionOperationKernel::configure()</a>, <a class="el" href="_c_l_reduction_operation_kernel_8cpp_source.xhtml#l00261">CLReductionOperationKernel::run()</a>, and <a class="el" href="_c_l_reduction_operation_8cpp_source.xhtml#l00066">CLReductionOperation::validate()</a>.</p>
</div>
</div>
@@ -17777,11 +18677,11 @@
</dl>
<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#l00478">478</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="l00479"></a><span class="lineno"> 479</span> {</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  <span class="keywordflow">switch</span>(format)</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>  <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  <span class="comment">// Because the U and V channels are subsampled</span></div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  <span class="comment">// these formats appear like having only 2 channels:</span></div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  <span class="comment">//Doesn't make sense for planar formats:</span></div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  <span class="keywordflow">return</span> 0;</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> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00482">482</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="l00483"></a><span class="lineno"> 483</span> {</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  {</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  <span class="comment">// Because the U and V channels are subsampled</span></div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  <span class="comment">// these formats appear like having only 2 channels:</span></div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  <span class="comment">//Doesn't make sense for planar formats:</span></div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  <span class="keywordflow">return</span> 0;</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><!-- 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>
+<p class="reference">Referenced by <a class="el" href="src_2core_2_tensor_info_8cpp_source.xhtml#l00112">TensorInfo::init()</a>, <a class="el" href="src_2core_2_tensor_info_8cpp_source.xhtml#l00181">TensorInfo::init_auto_padding()</a>, and <a class="el" href="src_2core_2_tensor_info_8cpp_source.xhtml#l00333">TensorInfo::set_format()</a>.</p>
</div>
</div>
@@ -17836,11 +18736,11 @@
</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#l01088">1088</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="l01089"></a><span class="lineno"> 1089</span> {</div><div class="line"><a name="l01090"></a><span class="lineno"> 1090</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="l01091"></a><span class="lineno"> 1091</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="l01092"></a><span class="lineno"> 1092</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>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01121">1121</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="l01122"></a><span class="lineno"> 1122</span> {</div><div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>  <a class="code" href="_error_8h.xhtml#a0b0eb3235749a2909dc5a101afe59a1b">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="l01124"></a><span class="lineno"> 1124</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="l01125"></a><span class="lineno"> 1125</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_a0b0eb3235749a2909dc5a101afe59a1b"><div class="ttname"><a href="_error_8h.xhtml#a0b0eb3235749a2909dc5a101afe59a1b">ARM_COMPUTE_ERROR_ON_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_MSG(cond, msg)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00456">Error.h:456</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>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00456">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>
@@ -17877,10 +18777,10 @@
</dl>
<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#l00444">444</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="l00445"></a><span class="lineno"> 445</span> {</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  {</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>  <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</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="l00468"></a><span class="lineno"> 468</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  }</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span> }</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="arm__compute_2core_2_utils_8h_source.xhtml#l00448">448</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="l00449"></a><span class="lineno"> 449</span> {</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  <span class="keywordflow">switch</span>(format)</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">case</span> Format::U8:</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Not supported format"</span>);</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  <span class="keywordflow">return</span> 0;</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> }</div><div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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">References <a class="el" href="_error_8h_source.xhtml#l00352">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#l00239">CLChannelCombineKernel::run()</a>.</p>
@@ -17904,11 +18804,11 @@
<p>Check if OpenCL is available. </p>
<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#l00136">136</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="l00137"></a><span class="lineno"> 137</span> {</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  CLSymbols::get().load_default();</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keywordflow">return</span> CLSymbols::get().clBuildProgram_ptr != <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</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="definition">Definition at line <a class="el" href="_open_c_l_8cpp_source.xhtml#l00142">142</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="l00143"></a><span class="lineno"> 143</span> {</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  CLSymbols::get().load_default();</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keywordflow">return</span> CLSymbols::get().clBuildProgram_ptr != <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span> }</div></div><!-- fragment -->
+<p class="reference">References <a class="el" href="_open_c_l_8h_source.xhtml#l00096">CLSymbols::clBuildProgram_ptr</a>, <a class="el" href="_open_c_l_8cpp_source.xhtml#l00037">CLSymbols::get()</a>, and <a class="el" href="_open_c_l_8cpp_source.xhtml#l00043">CLSymbols::load_default()</a>.</p>
-<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#l00142">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#l00776">arm_compute::test::sync_if_necessary()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l01058">CLKernelLibrary::CLKernelLibrary()</a>, <a class="el" href="runtime_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00088">create_opencl_context_and_device()</a>, <a class="el" href="_c_l_scheduler_8cpp_source.xhtml#l00099">CLScheduler::get()</a>, <a class="el" href="_c_l_device_backend_8cpp_source.xhtml#l00153">CLDeviceBackend::is_backend_supported()</a>, <a class="el" href="main_8cpp_source.xhtml#l00093">main()</a>, <a class="el" href="_framework_8cpp_source.xhtml#l00538">Framework::run()</a>, and <a class="el" href="tests_2_utils_8h_source.xhtml#l00786">arm_compute::test::sync_if_necessary()</a>.</p>
</div>
</div>
@@ -17932,7 +18832,7 @@
<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>
<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#l00793">arm_compute::test::sync_tensor_if_necessary()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="_g_c_scheduler_8cpp_source.xhtml#l00070">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#l00803">arm_compute::test::sync_tensor_if_necessary()</a>.</p>
</div>
</div>
@@ -17980,8 +18880,8 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if the given quantization info is the same. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00167">167</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00168"></a><span class="lineno"> 168</span> {</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keywordflow">return</span> !(<a class="code" href="namespacearm__compute.xhtml#a030e4a7f3aa9ea2d6c4e3e6eb94a2fdd">operator==</a>(lhs, rhs));</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a030e4a7f3aa9ea2d6c4e3e6eb94a2fdd"><div class="ttname"><a href="namespacearm__compute.xhtml#a030e4a7f3aa9ea2d6c4e3e6eb94a2fdd">arm_compute::operator==</a></div><div class="ttdeci">bool operator==(const UniformQuantizationInfo &lhs, const UniformQuantizationInfo &rhs)</div><div class="ttdoc">Check whether two quantization info are equal.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00179">QuantizationInfo.h:179</a></div></div>
+<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00179">179</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</a>.</p>
+<div class="fragment"><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> !(<a class="code" href="namespacearm__compute.xhtml#a030e4a7f3aa9ea2d6c4e3e6eb94a2fdd">operator==</a>(lhs, rhs));</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a030e4a7f3aa9ea2d6c4e3e6eb94a2fdd"><div class="ttname"><a href="namespacearm__compute.xhtml#a030e4a7f3aa9ea2d6c4e3e6eb94a2fdd">arm_compute::operator==</a></div><div class="ttdeci">bool operator==(const UniformQuantizationInfo &lhs, const UniformQuantizationInfo &rhs)</div><div class="ttdoc">Check whether two quantization info are equal.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00191">QuantizationInfo.h:191</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_dimensions_8h_source.xhtml#l00255">operator==()</a>.</p>
@@ -18031,8 +18931,8 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if the given quantization info is the same. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00191">191</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00192"></a><span class="lineno"> 192</span> {</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keywordflow">return</span> !(<a class="code" href="namespacearm__compute.xhtml#a030e4a7f3aa9ea2d6c4e3e6eb94a2fdd">operator==</a>(lhs, rhs));</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a030e4a7f3aa9ea2d6c4e3e6eb94a2fdd"><div class="ttname"><a href="namespacearm__compute.xhtml#a030e4a7f3aa9ea2d6c4e3e6eb94a2fdd">arm_compute::operator==</a></div><div class="ttdeci">bool operator==(const UniformQuantizationInfo &lhs, const UniformQuantizationInfo &rhs)</div><div class="ttdoc">Check whether two quantization info are equal.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00179">QuantizationInfo.h:179</a></div></div>
+<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00203">203</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00204"></a><span class="lineno"> 204</span> {</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <span class="keywordflow">return</span> !(<a class="code" href="namespacearm__compute.xhtml#a030e4a7f3aa9ea2d6c4e3e6eb94a2fdd">operator==</a>(lhs, rhs));</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a030e4a7f3aa9ea2d6c4e3e6eb94a2fdd"><div class="ttname"><a href="namespacearm__compute.xhtml#a030e4a7f3aa9ea2d6c4e3e6eb94a2fdd">arm_compute::operator==</a></div><div class="ttdeci">bool operator==(const UniformQuantizationInfo &lhs, const UniformQuantizationInfo &rhs)</div><div class="ttdoc">Check whether two quantization info are equal.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00191">QuantizationInfo.h:191</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_dimensions_8h_source.xhtml#l00255">operator==()</a>.</p>
@@ -18123,9 +19023,9 @@
<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>
-<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#a7cf8d8b669b8f7b05680230be30d60f4">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_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00352">ARM_COMPUTE_ERROR</a>, and <a class="el" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7a5515a637eda61b978e97adaa5d7629cc">GRAD_XY</a>.</p>
</div>
</div>
@@ -18208,11 +19108,11 @@
<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>
-<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="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#a7cf8d8b669b8f7b05680230be30d60f4">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="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="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00352">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>
@@ -18253,9 +19153,9 @@
<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>
-<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#a7cf8d8b669b8f7b05680230be30d60f4">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_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00352">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>
@@ -18296,10 +19196,10 @@
<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>
-<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#a7cf8d8b669b8f7b05680230be30d60f4">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_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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#l00317">PixelWiseMultiplication.cpp:317</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#l00317">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">References <a class="el" href="_error_8h_source.xhtml#l00352">ARM_COMPUTE_ERROR</a>, <a class="el" href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00317">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>
@@ -18384,7 +19284,7 @@
<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>
<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#l01296">ROIPoolingLayerInfo::pooled_height()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01291">ROIPoolingLayerInfo::pooled_width()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01301">ROIPoolingLayerInfo::spatial_scale()</a>.</p>
+<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01326">ROIPoolingLayerInfo::pooled_height()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01321">ROIPoolingLayerInfo::pooled_width()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01331">ROIPoolingLayerInfo::spatial_scale()</a>.</p>
</div>
</div>
@@ -18427,7 +19327,7 @@
<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#l01481">BoundingBoxTransformInfo::img_height()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01486">BoundingBoxTransformInfo::img_width()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01491">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#l01471">BoundingBoxTransformInfo::weights()</a>.</p>
+<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01511">BoundingBoxTransformInfo::img_height()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01516">BoundingBoxTransformInfo::img_width()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01521">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#l01501">BoundingBoxTransformInfo::weights()</a>.</p>
</div>
</div>
@@ -18469,7 +19369,7 @@
<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>
<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#l01419">ComputeAnchorsInfo::feat_height()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01425">ComputeAnchorsInfo::feat_width()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01431">ComputeAnchorsInfo::spatial_scale()</a>.</p>
+<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01449">ComputeAnchorsInfo::feat_height()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01455">ComputeAnchorsInfo::feat_width()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01461">ComputeAnchorsInfo::spatial_scale()</a>.</p>
</div>
</div>
@@ -18511,7 +19411,7 @@
<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>
<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#l01342">GenerateProposalsInfo::im_height()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01352">GenerateProposalsInfo::im_scale()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01347">GenerateProposalsInfo::im_width()</a>.</p>
+<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01372">GenerateProposalsInfo::im_height()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01382">GenerateProposalsInfo::im_scale()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01377">GenerateProposalsInfo::im_width()</a>.</p>
</div>
</div>
@@ -18552,11 +19452,11 @@
<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>
-<div class="fragment"><div class="line"><a name="l00324"></a><span class="lineno"> 324</span> {</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <span class="keyword">const</span> UniformQuantizationInfo uqinfo = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>.<a class="code" href="classarm__compute_1_1_quantization_info.xhtml#a706fc156bcd4c45441bcaad05884b57d">uniform</a>();</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  os << <span class="stringliteral">"Scale:"</span> << uqinfo.<a class="code" href="structarm__compute_1_1_uniform_quantization_info.xhtml#a1d28dec57cce925ad92342891bd71e7c">scale</a> << <span class="stringliteral">"~"</span>;</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  os << <span class="stringliteral">"Offset:"</span> << uqinfo.offset;</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span> }</div><div class="ttc" id="structarm__compute_1_1_uniform_quantization_info_xhtml_a1d28dec57cce925ad92342891bd71e7c"><div class="ttname"><a href="structarm__compute_1_1_uniform_quantization_info.xhtml#a1d28dec57cce925ad92342891bd71e7c">arm_compute::UniformQuantizationInfo::scale</a></div><div class="ttdeci">float scale</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00061">QuantizationInfo.h:61</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_quantization_info_xhtml_a706fc156bcd4c45441bcaad05884b57d"><div class="ttname"><a href="classarm__compute_1_1_quantization_info.xhtml#a706fc156bcd4c45441bcaad05884b57d">arm_compute::QuantizationInfo::uniform</a></div><div class="ttdeci">UniformQuantizationInfo uniform() const</div><div class="ttdoc">Return per layer quantization info.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00134">QuantizationInfo.h:134</a></div></div>
+<div class="fragment"><div class="line"><a name="l00324"></a><span class="lineno"> 324</span> {</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <span class="keyword">const</span> UniformQuantizationInfo uqinfo = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>.<a class="code" href="classarm__compute_1_1_quantization_info.xhtml#a706fc156bcd4c45441bcaad05884b57d">uniform</a>();</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  os << <span class="stringliteral">"Scale:"</span> << uqinfo.<a class="code" href="structarm__compute_1_1_uniform_quantization_info.xhtml#a1d28dec57cce925ad92342891bd71e7c">scale</a> << <span class="stringliteral">"~"</span>;</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  os << <span class="stringliteral">"Offset:"</span> << uqinfo.offset;</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span> }</div><div class="ttc" id="structarm__compute_1_1_uniform_quantization_info_xhtml_a1d28dec57cce925ad92342891bd71e7c"><div class="ttname"><a href="structarm__compute_1_1_uniform_quantization_info.xhtml#a1d28dec57cce925ad92342891bd71e7c">arm_compute::UniformQuantizationInfo::scale</a></div><div class="ttdeci">float scale</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00062">QuantizationInfo.h:62</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_quantization_info_xhtml_a706fc156bcd4c45441bcaad05884b57d"><div class="ttname"><a href="classarm__compute_1_1_quantization_info.xhtml#a706fc156bcd4c45441bcaad05884b57d">arm_compute::QuantizationInfo::uniform</a></div><div class="ttdeci">UniformQuantizationInfo uniform() const</div><div class="ttdoc">Return per layer quantization info.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00146">QuantizationInfo.h:146</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad85d7becf0c6e3cffbc255489808e219"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">arm_compute::test::validation::qinfo</a></div><div class="ttdeci">const QuantizationInfo qinfo</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00150">Im2Col.cpp:150</a></div></div>
</div><!-- fragment -->
-<p class="reference">References <a class="el" href="_quantization_info_8h_source.xhtml#l00062">UniformQuantizationInfo::offset</a>, <a class="el" href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00150">arm_compute::test::validation::qinfo</a>, <a class="el" href="_quantization_info_8h_source.xhtml#l00061">UniformQuantizationInfo::scale</a>, and <a class="el" href="_quantization_info_8h_source.xhtml#l00134">QuantizationInfo::uniform()</a>.</p>
+<p class="reference">References <a class="el" href="_quantization_info_8h_source.xhtml#l00063">UniformQuantizationInfo::offset</a>, <a class="el" href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00150">arm_compute::test::validation::qinfo</a>, <a class="el" href="_quantization_info_8h_source.xhtml#l00062">UniformQuantizationInfo::scale</a>, and <a class="el" href="_quantization_info_8h_source.xhtml#l00146">QuantizationInfo::uniform()</a>.</p>
</div>
</div>
@@ -18597,9 +19497,9 @@
<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#l00351">351</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="l00352"></a><span class="lineno"> 352</span> {</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  <span class="keywordflow">switch</span>(act_function)</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  {</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::ABS:</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  os << <span class="stringliteral">"ABS"</span>;</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LINEAR:</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  os << <span class="stringliteral">"LINEAR"</span>;</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LOGISTIC:</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  os << <span class="stringliteral">"LOGISTIC"</span>;</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::RELU:</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  os << <span class="stringliteral">"RELU"</span>;</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::BOUNDED_RELU:</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  os << <span class="stringliteral">"BOUNDED_RELU"</span>;</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LEAKY_RELU:</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  os << <span class="stringliteral">"LEAKY_RELU"</span>;</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SOFT_RELU:</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  os << <span class="stringliteral">"SOFT_RELU"</span>;</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SQRT:</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  os << <span class="stringliteral">"SQRT"</span>;</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LU_BOUNDED_RELU:</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  os << <span class="stringliteral">"LU_BOUNDED_RELU"</span>;</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SQUARE:</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  os << <span class="stringliteral">"SQUARE"</span>;</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::TANH:</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  os << <span class="stringliteral">"TANH"</span>;</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::IDENTITY:</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  os << <span class="stringliteral">"IDENTITY"</span>;</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  }</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span> </div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span> }</div><div class="ttc" id="_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="l00352"></a><span class="lineno"> 352</span> {</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  <span class="keywordflow">switch</span>(act_function)</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  {</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::ABS:</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  os << <span class="stringliteral">"ABS"</span>;</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LINEAR:</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  os << <span class="stringliteral">"LINEAR"</span>;</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LOGISTIC:</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  os << <span class="stringliteral">"LOGISTIC"</span>;</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::RELU:</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  os << <span class="stringliteral">"RELU"</span>;</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::BOUNDED_RELU:</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  os << <span class="stringliteral">"BOUNDED_RELU"</span>;</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LEAKY_RELU:</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  os << <span class="stringliteral">"LEAKY_RELU"</span>;</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SOFT_RELU:</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  os << <span class="stringliteral">"SOFT_RELU"</span>;</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SQRT:</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  os << <span class="stringliteral">"SQRT"</span>;</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LU_BOUNDED_RELU:</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  os << <span class="stringliteral">"LU_BOUNDED_RELU"</span>;</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::ELU:</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  os << <span class="stringliteral">"ELU"</span>;</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SQUARE:</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  os << <span class="stringliteral">"SQUARE"</span>;</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::TANH:</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  os << <span class="stringliteral">"TANH"</span>;</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::IDENTITY:</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  os << <span class="stringliteral">"IDENTITY"</span>;</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  }</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span> </div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span> }</div><div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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#a56297e0f7b215eea46c818cb7528d9eaad8156d3c6735d75d8a1b8dedd0e79c8b">ActivationLayerInfo::IDENTITY</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">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#l00352">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#a56297e0f7b215eea46c818cb7528d9eaa5b44c930bf0ddeef48b50ef11e5ddd58">ActivationLayerInfo::ELU</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaad8156d3c6735d75d8a1b8dedd0e79c8b">ActivationLayerInfo::IDENTITY</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>
@@ -18639,10 +19539,10 @@
</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#l00434">434</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="l00435"></a><span class="lineno"> 435</span> {</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  <span class="keywordflow">switch</span>(norm_type)</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  {</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  <span class="keywordflow">case</span> NormType::CROSS_MAP:</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  os << <span class="stringliteral">"CROSS_MAP"</span>;</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  <span class="keywordflow">case</span> NormType::IN_MAP_1D:</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  os << <span class="stringliteral">"IN_MAP_1D"</span>;</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  <span class="keywordflow">case</span> NormType::IN_MAP_2D:</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  os << <span class="stringliteral">"IN_MAP_2D"</span>;</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</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="l00449"></a><span class="lineno"> 449</span>  }</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span> </div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</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#l00437">437</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="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>(norm_type)</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> NormType::CROSS_MAP:</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  os << <span class="stringliteral">"CROSS_MAP"</span>;</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  <span class="keywordflow">case</span> NormType::IN_MAP_1D:</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  os << <span class="stringliteral">"IN_MAP_1D"</span>;</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  <span class="keywordflow">case</span> NormType::IN_MAP_2D:</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  os << <span class="stringliteral">"IN_MAP_2D"</span>;</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>  }</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span> </div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span> }</div><div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00352">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>
@@ -18682,8 +19582,8 @@
</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#l00474">474</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="l00475"></a><span class="lineno"> 475</span> {</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</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="l00477"></a><span class="lineno"> 477</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</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>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00477">477</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="l00478"></a><span class="lineno"> 478</span> {</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</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="l00480"></a><span class="lineno"> 480</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</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>
@@ -18725,11 +19625,11 @@
</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#l00487">487</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="l00488"></a><span class="lineno"> 488</span> {</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  <span class="keywordflow">switch</span>(pool_type)</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  {</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  <span class="keywordflow">case</span> PoolingType::AVG:</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  os << <span class="stringliteral">"AVG"</span>;</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  <span class="keywordflow">case</span> <a class="code" href="elementwise__operation_8cl.xhtml#aacc3ee1a7f283f8ef65cea31f4436a95">PoolingType::MAX</a>:</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  os << <span class="stringliteral">"MAX"</span>;</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  <span class="keywordflow">case</span> PoolingType::L2:</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  os << <span class="stringliteral">"L2"</span>;</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</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="l00502"></a><span class="lineno"> 502</span>  }</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>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</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#l00490">490</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="l00491"></a><span class="lineno"> 491</span> {</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  <span class="keywordflow">switch</span>(pool_type)</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  {</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  <span class="keywordflow">case</span> PoolingType::AVG:</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  os << <span class="stringliteral">"AVG"</span>;</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  <span class="keywordflow">case</span> <a class="code" href="elementwise__operation_8cl.xhtml#aacc3ee1a7f283f8ef65cea31f4436a95">PoolingType::MAX</a>:</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  os << <span class="stringliteral">"MAX"</span>;</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  <span class="keywordflow">case</span> PoolingType::L2:</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  os << <span class="stringliteral">"L2"</span>;</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  }</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span> </div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span> }</div><div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00352">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>
@@ -18769,8 +19669,8 @@
</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#l00514">514</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="l00515"></a><span class="lineno"> 515</span> {</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  os << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.pool_type();</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> os;</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</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>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00517">517</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="l00518"></a><span class="lineno"> 518</span> {</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  os << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.pool_type();</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span> </div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</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>
@@ -18813,11 +19713,11 @@
</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#l00542">542</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="l00543"></a><span class="lineno"> 543</span> {</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>  <span class="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">data_layout</a>)</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>  {</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>  <span class="keywordflow">case</span> DataLayout::UNKNOWN:</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>  os << <span class="stringliteral">"UNKNOWN"</span>;</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>  <span class="keywordflow">case</span> DataLayout::NHWC:</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>  os << <span class="stringliteral">"NHWC"</span>;</div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>  <span class="keywordflow">case</span> DataLayout::NCHW:</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>  os << <span class="stringliteral">"NCHW"</span>;</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</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="l00557"></a><span class="lineno"> 557</span>  }</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="keywordflow">return</span> os;</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</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_acf5f12bbab64dd614bd8220c97fe484f"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">arm_compute::test::validation::data_layout</a></div><div class="ttdeci">const DataLayout data_layout</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00146">Im2Col.cpp:146</a></div></div>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00545">545</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="l00546"></a><span class="lineno"> 546</span> {</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>  <span class="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">data_layout</a>)</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>  {</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>  <span class="keywordflow">case</span> DataLayout::UNKNOWN:</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>  os << <span class="stringliteral">"UNKNOWN"</span>;</div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>  <span class="keywordflow">case</span> DataLayout::NHWC:</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>  os << <span class="stringliteral">"NHWC"</span>;</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>  <span class="keywordflow">case</span> DataLayout::NCHW:</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>  os << <span class="stringliteral">"NCHW"</span>;</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</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="line"><a name="l00562"></a><span class="lineno"> 562</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_acf5f12bbab64dd614bd8220c97fe484f"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">arm_compute::test::validation::data_layout</a></div><div class="ttdeci">const DataLayout data_layout</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00146">Im2Col.cpp:146</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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_im2_col_8cpp_source.xhtml#l00146">arm_compute::test::validation::data_layout</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>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00352">ARM_COMPUTE_ERROR</a>, <a class="el" href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00146">arm_compute::test::validation::data_layout</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>
@@ -18858,10 +19758,10 @@
</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#l00583">583</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="l00584"></a><span class="lineno"> 584</span> {</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>  <span class="keywordflow">switch</span>(data_layout_dim)</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>  {</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>  <span class="keywordflow">case</span> DataLayoutDimension::WIDTH:</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>  os << <span class="stringliteral">"WIDTH"</span>;</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>  <span class="keywordflow">case</span> DataLayoutDimension::HEIGHT:</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>  os << <span class="stringliteral">"HEIGHT"</span>;</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>  <span class="keywordflow">case</span> DataLayoutDimension::CHANNEL:</div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>  os << <span class="stringliteral">"CHANNEL"</span>;</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>  <span class="keywordflow">case</span> DataLayoutDimension::BATCHES:</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>  os << <span class="stringliteral">"BATCHES"</span>;</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</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="l00601"></a><span class="lineno"> 601</span>  }</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00603"></a><span class="lineno"> 603</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#l00586">586</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="l00587"></a><span class="lineno"> 587</span> {</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>  <span class="keywordflow">switch</span>(data_layout_dim)</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>  {</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>  <span class="keywordflow">case</span> DataLayoutDimension::WIDTH:</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>  os << <span class="stringliteral">"WIDTH"</span>;</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>  <span class="keywordflow">case</span> DataLayoutDimension::HEIGHT:</div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>  os << <span class="stringliteral">"HEIGHT"</span>;</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>  <span class="keywordflow">case</span> DataLayoutDimension::CHANNEL:</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>  os << <span class="stringliteral">"CHANNEL"</span>;</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>  <span class="keywordflow">case</span> DataLayoutDimension::BATCHES:</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>  os << <span class="stringliteral">"BATCHES"</span>;</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</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> os;</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span> }</div><div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00352">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>
@@ -18901,11 +19801,11 @@
</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#l00612">612</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="l00613"></a><span class="lineno"> 613</span> {</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>  <span class="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a5f5b6c4337eac9e2e0046ca2304d80dc">data_type</a>)</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="keywordflow">case</span> DataType::UNKNOWN:</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>  os << <span class="stringliteral">"UNKNOWN"</span>;</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>  <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>  os << <span class="stringliteral">"U8"</span>;</div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>  <span class="keywordflow">case</span> DataType::QSYMM8:</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>  os << <span class="stringliteral">"QSYMM8"</span>;</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>  os << <span class="stringliteral">"QASYMM8"</span>;</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>  <span class="keywordflow">case</span> DataType::QSYMM8_PER_CHANNEL:</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>  os << <span class="stringliteral">"QSYMM8_PER_CHANNEL"</span>;</div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>  os << <span class="stringliteral">"S8"</span>;</div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>  os << <span class="stringliteral">"U16"</span>;</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>  os << <span class="stringliteral">"S16"</span>;</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>  <span class="keywordflow">case</span> DataType::QSYMM16:</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>  os << <span class="stringliteral">"QSYMM16"</span>;</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>  os << <span class="stringliteral">"U32"</span>;</div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>  os << <span class="stringliteral">"S32"</span>;</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>  <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>  os << <span class="stringliteral">"U64"</span>;</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>  <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>  os << <span class="stringliteral">"S64"</span>;</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>  os << <span class="stringliteral">"F16"</span>;</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>  os << <span class="stringliteral">"F32"</span>;</div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>  <span class="keywordflow">case</span> DataType::F64:</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>  os << <span class="stringliteral">"F64"</span>;</div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>  <span class="keywordflow">case</span> DataType::SIZET:</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>  os << <span class="stringliteral">"SIZET"</span>;</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</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="l00669"></a><span class="lineno"> 669</span>  }</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="keywordflow">return</span> os;</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</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#l00615">615</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="l00616"></a><span class="lineno"> 616</span> {</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>  <span class="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a5f5b6c4337eac9e2e0046ca2304d80dc">data_type</a>)</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>  {</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>  <span class="keywordflow">case</span> DataType::UNKNOWN:</div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>  os << <span class="stringliteral">"UNKNOWN"</span>;</div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>  <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>  os << <span class="stringliteral">"U8"</span>;</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>  <span class="keywordflow">case</span> DataType::QSYMM8:</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>  os << <span class="stringliteral">"QSYMM8"</span>;</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>  os << <span class="stringliteral">"QASYMM8"</span>;</div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>  <span class="keywordflow">case</span> DataType::QSYMM8_PER_CHANNEL:</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>  os << <span class="stringliteral">"QSYMM8_PER_CHANNEL"</span>;</div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>  os << <span class="stringliteral">"S8"</span>;</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>  os << <span class="stringliteral">"U16"</span>;</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>  os << <span class="stringliteral">"S16"</span>;</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>  <span class="keywordflow">case</span> DataType::QSYMM16:</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>  os << <span class="stringliteral">"QSYMM16"</span>;</div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>  <span class="keywordflow">case</span> DataType::QASYMM16:</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>  os << <span class="stringliteral">"QASYMM16"</span>;</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>  os << <span class="stringliteral">"U32"</span>;</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>  os << <span class="stringliteral">"S32"</span>;</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>  <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>  os << <span class="stringliteral">"U64"</span>;</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>  <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>  os << <span class="stringliteral">"S64"</span>;</div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>  os << <span class="stringliteral">"F16"</span>;</div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>  os << <span class="stringliteral">"F32"</span>;</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>  <span class="keywordflow">case</span> DataType::F64:</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>  os << <span class="stringliteral">"F64"</span>;</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>  <span class="keywordflow">case</span> DataType::SIZET:</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>  os << <span class="stringliteral">"SIZET"</span>;</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><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> </div><div class="line"><a name="l00677"></a><span class="lineno"> 677</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00678"></a><span class="lineno"> 678</span> }</div><div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a5f5b6c4337eac9e2e0046ca2304d80dc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a5f5b6c4337eac9e2e0046ca2304d80dc">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_addition_8cpp_source.xhtml#l00135">ArithmeticAddition.cpp:135</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="_c_l_2_arithmetic_addition_8cpp_source.xhtml#l00135">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#ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6">QSYMM16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c">QSYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a34f500e941c4df30b870126ec868ebd5">QSYMM8_PER_CHANNEL</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">References <a class="el" href="_error_8h_source.xhtml#l00352">ARM_COMPUTE_ERROR</a>, <a class="el" href="_c_l_2_arithmetic_addition_8cpp_source.xhtml#l00135">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#ad8ed01ff3ff33333d8e19db4d2818bb6a3b989c6b5398b3b9538ad103a324205e">QASYMM16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6">QSYMM16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c">QSYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a34f500e941c4df30b870126ec868ebd5">QSYMM8_PER_CHANNEL</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>
@@ -18945,10 +19845,10 @@
</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#l00694">694</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="l00695"></a><span class="lineno"> 695</span> {</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>  <span class="keywordflow">switch</span>(format)</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>  <span class="keywordflow">case</span> Format::UNKNOWN:</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>  os << <span class="stringliteral">"UNKNOWN"</span>;</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>  <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>  os << <span class="stringliteral">"U8"</span>;</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>  <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>  os << <span class="stringliteral">"S16"</span>;</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>  <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>  os << <span class="stringliteral">"U16"</span>;</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>  <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>  os << <span class="stringliteral">"S32"</span>;</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>  <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>  os << <span class="stringliteral">"U32"</span>;</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>  <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>  os << <span class="stringliteral">"F16"</span>;</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>  <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>  os << <span class="stringliteral">"F32"</span>;</div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span>  <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>  os << <span class="stringliteral">"UV88"</span>;</div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>  <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>  os << <span class="stringliteral">"RGB888"</span>;</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>  os << <span class="stringliteral">"RGBA8888"</span>;</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>  os << <span class="stringliteral">"YUV444"</span>;</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>  os << <span class="stringliteral">"YUYV422"</span>;</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>  <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>  os << <span class="stringliteral">"NV12"</span>;</div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>  <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>  os << <span class="stringliteral">"NV21"</span>;</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>  <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>  os << <span class="stringliteral">"IYUV"</span>;</div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span>  <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>  os << <span class="stringliteral">"UYVY422"</span>;</div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00750"></a><span class="lineno"> 750</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="l00751"></a><span class="lineno"> 751</span>  }</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span> </div><div class="line"><a name="l00753"></a><span class="lineno"> 753</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</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#l00700">700</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="l00701"></a><span class="lineno"> 701</span> {</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>  <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>  {</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>  <span class="keywordflow">case</span> Format::UNKNOWN:</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>  os << <span class="stringliteral">"UNKNOWN"</span>;</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>  <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>  os << <span class="stringliteral">"U8"</span>;</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>  <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>  os << <span class="stringliteral">"S16"</span>;</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>  <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>  os << <span class="stringliteral">"U16"</span>;</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>  <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>  os << <span class="stringliteral">"S32"</span>;</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>  <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>  os << <span class="stringliteral">"U32"</span>;</div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span>  <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>  os << <span class="stringliteral">"F16"</span>;</div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>  <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>  os << <span class="stringliteral">"F32"</span>;</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>  <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>  os << <span class="stringliteral">"UV88"</span>;</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>  os << <span class="stringliteral">"RGB888"</span>;</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>  os << <span class="stringliteral">"RGBA8888"</span>;</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>  <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>  os << <span class="stringliteral">"YUV444"</span>;</div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>  <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>  os << <span class="stringliteral">"YUYV422"</span>;</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>  <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>  os << <span class="stringliteral">"NV12"</span>;</div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span>  <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>  os << <span class="stringliteral">"NV21"</span>;</div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>  <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span>  os << <span class="stringliteral">"IYUV"</span>;</div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span>  <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00753"></a><span class="lineno"> 753</span>  os << <span class="stringliteral">"UYVY422"</span>;</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span>  }</div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span> </div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span> }</div><div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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">References <a class="el" href="_error_8h_source.xhtml#l00352">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>
@@ -18988,11 +19888,11 @@
</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#l00776">776</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="l00777"></a><span class="lineno"> 777</span> {</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>  <span class="keywordflow">switch</span>(channel)</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">case</span> Channel::UNKNOWN:</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>  os << <span class="stringliteral">"UNKNOWN"</span>;</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>  <span class="keywordflow">case</span> Channel::C0:</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>  os << <span class="stringliteral">"C0"</span>;</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>  <span class="keywordflow">case</span> Channel::C1:</div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>  os << <span class="stringliteral">"C1"</span>;</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>  <span class="keywordflow">case</span> Channel::C2:</div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>  os << <span class="stringliteral">"C2"</span>;</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  <span class="keywordflow">case</span> Channel::C3:</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>  os << <span class="stringliteral">"C3"</span>;</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>  <span class="keywordflow">case</span> Channel::R:</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>  os << <span class="stringliteral">"R"</span>;</div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>  <span class="keywordflow">case</span> Channel::G:</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>  os << <span class="stringliteral">"G"</span>;</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>  <span class="keywordflow">case</span> Channel::B:</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>  os << <span class="stringliteral">"B"</span>;</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span>  <span class="keywordflow">case</span> Channel::A:</div><div class="line"><a name="l00805"></a><span class="lineno"> 805</span>  os << <span class="stringliteral">"A"</span>;</div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>  <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>  os << <span class="stringliteral">"Y"</span>;</div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00810"></a><span class="lineno"> 810</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="l00811"></a><span class="lineno"> 811</span>  os << <span class="stringliteral">"U"</span>;</div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>  <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>  os << <span class="stringliteral">"V"</span>;</div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00817"></a><span class="lineno"> 817</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="l00818"></a><span class="lineno"> 818</span>  }</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span> </div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00821"></a><span class="lineno"> 821</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#l00782">782</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="l00783"></a><span class="lineno"> 783</span> {</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>  <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>  {</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>  <span class="keywordflow">case</span> Channel::UNKNOWN:</div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>  os << <span class="stringliteral">"UNKNOWN"</span>;</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>  <span class="keywordflow">case</span> Channel::C0:</div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>  os << <span class="stringliteral">"C0"</span>;</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  <span class="keywordflow">case</span> Channel::C1:</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>  os << <span class="stringliteral">"C1"</span>;</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>  <span class="keywordflow">case</span> Channel::C2:</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>  os << <span class="stringliteral">"C2"</span>;</div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>  <span class="keywordflow">case</span> Channel::C3:</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>  os << <span class="stringliteral">"C3"</span>;</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>  <span class="keywordflow">case</span> Channel::R:</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>  os << <span class="stringliteral">"R"</span>;</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span>  <span class="keywordflow">case</span> Channel::G:</div><div class="line"><a name="l00805"></a><span class="lineno"> 805</span>  os << <span class="stringliteral">"G"</span>;</div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>  <span class="keywordflow">case</span> Channel::B:</div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>  os << <span class="stringliteral">"B"</span>;</div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>  <span class="keywordflow">case</span> Channel::A:</div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>  os << <span class="stringliteral">"A"</span>;</div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>  <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>  os << <span class="stringliteral">"Y"</span>;</div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00816"></a><span class="lineno"> 816</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="l00817"></a><span class="lineno"> 817</span>  os << <span class="stringliteral">"U"</span>;</div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span>  <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>  os << <span class="stringliteral">"V"</span>;</div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00823"></a><span class="lineno"> 823</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span>  }</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span> </div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span> }</div><div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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>
+<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="_error_8h_source.xhtml#l00352">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>
@@ -19032,10 +19932,10 @@
</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#l00843">843</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="l00844"></a><span class="lineno"> 844</span> {</div><div class="line"><a name="l00845"></a><span class="lineno"> 845</span>  <span class="keywordflow">switch</span>(mode)</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">case</span> BorderMode::UNDEFINED:</div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span>  os << <span class="stringliteral">"UNDEFINED"</span>;</div><div class="line"><a name="l00849"></a><span class="lineno"> 849</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00850"></a><span class="lineno"> 850</span>  <span class="keywordflow">case</span> BorderMode::CONSTANT:</div><div class="line"><a name="l00851"></a><span class="lineno"> 851</span>  os << <span class="stringliteral">"CONSTANT"</span>;</div><div class="line"><a name="l00852"></a><span class="lineno"> 852</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00853"></a><span class="lineno"> 853</span>  <span class="keywordflow">case</span> BorderMode::REPLICATE:</div><div class="line"><a name="l00854"></a><span class="lineno"> 854</span>  os << <span class="stringliteral">"REPLICATE"</span>;</div><div class="line"><a name="l00855"></a><span class="lineno"> 855</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00856"></a><span class="lineno"> 856</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00857"></a><span class="lineno"> 857</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="l00858"></a><span class="lineno"> 858</span>  }</div><div class="line"><a name="l00859"></a><span class="lineno"> 859</span> </div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00861"></a><span class="lineno"> 861</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#l00849">849</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="l00850"></a><span class="lineno"> 850</span> {</div><div class="line"><a name="l00851"></a><span class="lineno"> 851</span>  <span class="keywordflow">switch</span>(mode)</div><div class="line"><a name="l00852"></a><span class="lineno"> 852</span>  {</div><div class="line"><a name="l00853"></a><span class="lineno"> 853</span>  <span class="keywordflow">case</span> BorderMode::UNDEFINED:</div><div class="line"><a name="l00854"></a><span class="lineno"> 854</span>  os << <span class="stringliteral">"UNDEFINED"</span>;</div><div class="line"><a name="l00855"></a><span class="lineno"> 855</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00856"></a><span class="lineno"> 856</span>  <span class="keywordflow">case</span> BorderMode::CONSTANT:</div><div class="line"><a name="l00857"></a><span class="lineno"> 857</span>  os << <span class="stringliteral">"CONSTANT"</span>;</div><div class="line"><a name="l00858"></a><span class="lineno"> 858</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00859"></a><span class="lineno"> 859</span>  <span class="keywordflow">case</span> BorderMode::REPLICATE:</div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>  os << <span class="stringliteral">"REPLICATE"</span>;</div><div class="line"><a name="l00861"></a><span class="lineno"> 861</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00862"></a><span class="lineno"> 862</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00863"></a><span class="lineno"> 863</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><div class="line"><a name="l00864"></a><span class="lineno"> 864</span>  }</div><div class="line"><a name="l00865"></a><span class="lineno"> 865</span> </div><div class="line"><a name="l00866"></a><span class="lineno"> 866</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00867"></a><span class="lineno"> 867</span> }</div><div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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#a14d24d90ab4ba2956e92e27890ba4c91a8d6b5cada83510220f59e00ce86d4d92">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">References <a class="el" href="_error_8h_source.xhtml#l00352">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a14d24d90ab4ba2956e92e27890ba4c91a8d6b5cada83510220f59e00ce86d4d92">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>
@@ -19075,9 +19975,9 @@
</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#l00870">870</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="l00871"></a><span class="lineno"> 871</span> {</div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span>  os << border.top << <span class="stringliteral">","</span></div><div class="line"><a name="l00873"></a><span class="lineno"> 873</span>  << border.right << <span class="stringliteral">","</span></div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>  << border.bottom << <span class="stringliteral">","</span></div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span>  << border.left;</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="keywordflow">return</span> os;</div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span> }</div></div><!-- fragment -->
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00341">BorderSize::bottom</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00342">BorderSize::left</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00340">BorderSize::right</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00339">BorderSize::top</a>.</p>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00876">876</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="l00877"></a><span class="lineno"> 877</span> {</div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>  os << border.top << <span class="stringliteral">","</span></div><div class="line"><a name="l00879"></a><span class="lineno"> 879</span>  << border.right << <span class="stringliteral">","</span></div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>  << border.bottom << <span class="stringliteral">","</span></div><div class="line"><a name="l00881"></a><span class="lineno"> 881</span>  << border.left;</div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span> </div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00884"></a><span class="lineno"> 884</span> }</div></div><!-- fragment -->
+<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00350">BorderSize::bottom</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00351">BorderSize::left</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00349">BorderSize::right</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00348">BorderSize::top</a>.</p>
</div>
</div>
@@ -19117,8 +20017,8 @@
</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#l00887">887</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="l00888"></a><span class="lineno"> 888</span> {</div><div class="line"><a name="l00889"></a><span class="lineno"> 889</span>  os << <span class="stringliteral">"{"</span>;</div><div class="line"><a name="l00890"></a><span class="lineno"> 890</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="l00891"></a><span class="lineno"> 891</span>  {</div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span>  os << <span class="stringliteral">"{"</span> << p.first << <span class="stringliteral">","</span> << p.second << <span class="stringliteral">"}"</span>;</div><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">return</span> os;</div><div class="line"><a name="l00896"></a><span class="lineno"> 896</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>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00893">893</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="l00894"></a><span class="lineno"> 894</span> {</div><div class="line"><a name="l00895"></a><span class="lineno"> 895</span>  os << <span class="stringliteral">"{"</span>;</div><div class="line"><a name="l00896"></a><span class="lineno"> 896</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="l00897"></a><span class="lineno"> 897</span>  {</div><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>  os << <span class="stringliteral">"{"</span> << p.first << <span class="stringliteral">","</span> << p.second << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>  }</div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>  os << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l00901"></a><span class="lineno"> 901</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00902"></a><span class="lineno"> 902</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>
@@ -19160,8 +20060,8 @@
</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#l00905">905</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="l00906"></a><span class="lineno"> 906</span> {</div><div class="line"><a name="l00907"></a><span class="lineno"> 907</span>  os << <span class="stringliteral">"("</span>;</div><div class="line"><a name="l00908"></a><span class="lineno"> 908</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="l00909"></a><span class="lineno"> 909</span>  {</div><div class="line"><a name="l00910"></a><span class="lineno"> 910</span>  os << multiples[i] << <span class="stringliteral">", "</span>;</div><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>  os << multiples.back() << <span class="stringliteral">")"</span>;</div><div class="line"><a name="l00913"></a><span class="lineno"> 913</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00914"></a><span class="lineno"> 914</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00911">911</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="l00912"></a><span class="lineno"> 912</span> {</div><div class="line"><a name="l00913"></a><span class="lineno"> 913</span>  os << <span class="stringliteral">"("</span>;</div><div class="line"><a name="l00914"></a><span class="lineno"> 914</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="l00915"></a><span class="lineno"> 915</span>  {</div><div class="line"><a name="l00916"></a><span class="lineno"> 916</span>  os << multiples[i] << <span class="stringliteral">", "</span>;</div><div class="line"><a name="l00917"></a><span class="lineno"> 917</span>  }</div><div class="line"><a name="l00918"></a><span class="lineno"> 918</span>  os << multiples.back() << <span class="stringliteral">")"</span>;</div><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00920"></a><span class="lineno"> 920</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a509047aefc691398f1bb60b1f967a98b"></a>
@@ -19200,11 +20100,11 @@
</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#l00923">923</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="l00924"></a><span class="lineno"> 924</span> {</div><div class="line"><a name="l00925"></a><span class="lineno"> 925</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="l00926"></a><span class="lineno"> 926</span>  {</div><div class="line"><a name="l00927"></a><span class="lineno"> 927</span>  <span class="keywordflow">case</span> InterpolationPolicy::NEAREST_NEIGHBOR:</div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>  os << <span class="stringliteral">"NEAREST_NEIGHBOR"</span>;</div><div class="line"><a name="l00929"></a><span class="lineno"> 929</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00930"></a><span class="lineno"> 930</span>  <span class="keywordflow">case</span> InterpolationPolicy::BILINEAR:</div><div class="line"><a name="l00931"></a><span class="lineno"> 931</span>  os << <span class="stringliteral">"BILINEAR"</span>;</div><div class="line"><a name="l00932"></a><span class="lineno"> 932</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00933"></a><span class="lineno"> 933</span>  <span class="keywordflow">case</span> InterpolationPolicy::AREA:</div><div class="line"><a name="l00934"></a><span class="lineno"> 934</span>  os << <span class="stringliteral">"AREA"</span>;</div><div class="line"><a name="l00935"></a><span class="lineno"> 935</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00936"></a><span class="lineno"> 936</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00937"></a><span class="lineno"> 937</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="l00938"></a><span class="lineno"> 938</span>  }</div><div class="line"><a name="l00939"></a><span class="lineno"> 939</span> </div><div class="line"><a name="l00940"></a><span class="lineno"> 940</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00941"></a><span class="lineno"> 941</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_addition_8cpp_source.xhtml#l00136">ArithmeticAddition.cpp:136</a></div></div>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00929">929</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="l00930"></a><span class="lineno"> 930</span> {</div><div class="line"><a name="l00931"></a><span class="lineno"> 931</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="l00932"></a><span class="lineno"> 932</span>  {</div><div class="line"><a name="l00933"></a><span class="lineno"> 933</span>  <span class="keywordflow">case</span> InterpolationPolicy::NEAREST_NEIGHBOR:</div><div class="line"><a name="l00934"></a><span class="lineno"> 934</span>  os << <span class="stringliteral">"NEAREST_NEIGHBOR"</span>;</div><div class="line"><a name="l00935"></a><span class="lineno"> 935</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00936"></a><span class="lineno"> 936</span>  <span class="keywordflow">case</span> InterpolationPolicy::BILINEAR:</div><div class="line"><a name="l00937"></a><span class="lineno"> 937</span>  os << <span class="stringliteral">"BILINEAR"</span>;</div><div class="line"><a name="l00938"></a><span class="lineno"> 938</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00939"></a><span class="lineno"> 939</span>  <span class="keywordflow">case</span> InterpolationPolicy::AREA:</div><div class="line"><a name="l00940"></a><span class="lineno"> 940</span>  os << <span class="stringliteral">"AREA"</span>;</div><div class="line"><a name="l00941"></a><span class="lineno"> 941</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00942"></a><span class="lineno"> 942</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00943"></a><span class="lineno"> 943</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><div class="line"><a name="l00944"></a><span class="lineno"> 944</span>  }</div><div class="line"><a name="l00945"></a><span class="lineno"> 945</span> </div><div class="line"><a name="l00946"></a><span class="lineno"> 946</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00947"></a><span class="lineno"> 947</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_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_addition_8cpp_source.xhtml#l00136">ArithmeticAddition.cpp:136</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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="_c_l_2_arithmetic_addition_8cpp_source.xhtml#l00136">arm_compute::test::validation::policy</a>.</p>
+<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>, <a class="el" href="_error_8h_source.xhtml#l00352">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="_c_l_2_arithmetic_addition_8cpp_source.xhtml#l00136">arm_compute::test::validation::policy</a>.</p>
</div>
</div>
@@ -19244,11 +20144,11 @@
</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#l00950">950</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="l00951"></a><span class="lineno"> 951</span> {</div><div class="line"><a name="l00952"></a><span class="lineno"> 952</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="l00953"></a><span class="lineno"> 953</span>  {</div><div class="line"><a name="l00954"></a><span class="lineno"> 954</span>  <span class="keywordflow">case</span> SamplingPolicy::CENTER:</div><div class="line"><a name="l00955"></a><span class="lineno"> 955</span>  os << <span class="stringliteral">"CENTER"</span>;</div><div class="line"><a name="l00956"></a><span class="lineno"> 956</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00957"></a><span class="lineno"> 957</span>  <span class="keywordflow">case</span> SamplingPolicy::TOP_LEFT:</div><div class="line"><a name="l00958"></a><span class="lineno"> 958</span>  os << <span class="stringliteral">"TOP_LEFT"</span>;</div><div class="line"><a name="l00959"></a><span class="lineno"> 959</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00960"></a><span class="lineno"> 960</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00961"></a><span class="lineno"> 961</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="l00962"></a><span class="lineno"> 962</span>  }</div><div class="line"><a name="l00963"></a><span class="lineno"> 963</span> </div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00965"></a><span class="lineno"> 965</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_addition_8cpp_source.xhtml#l00136">ArithmeticAddition.cpp:136</a></div></div>
+<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>
+<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>  <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="l00959"></a><span class="lineno"> 959</span>  {</div><div class="line"><a name="l00960"></a><span class="lineno"> 960</span>  <span class="keywordflow">case</span> SamplingPolicy::CENTER:</div><div class="line"><a name="l00961"></a><span class="lineno"> 961</span>  os << <span class="stringliteral">"CENTER"</span>;</div><div class="line"><a name="l00962"></a><span class="lineno"> 962</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00963"></a><span class="lineno"> 963</span>  <span class="keywordflow">case</span> SamplingPolicy::TOP_LEFT:</div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>  os << <span class="stringliteral">"TOP_LEFT"</span>;</div><div class="line"><a name="l00965"></a><span class="lineno"> 965</span>  <span class="keywordflow">break</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>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</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 class="line"><a name="l00970"></a><span class="lineno"> 970</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00971"></a><span class="lineno"> 971</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_addition_8cpp_source.xhtml#l00136">ArithmeticAddition.cpp:136</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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="_c_l_2_arithmetic_addition_8cpp_source.xhtml#l00136">arm_compute::test::validation::policy</a>, and <a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7ba747385047b85ae751f83adb36435a3c1">TOP_LEFT</a>.</p>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00352">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7bac397289ee45877be0cd49811fe245b4e">CENTER</a>, <a class="el" href="_c_l_2_arithmetic_addition_8cpp_source.xhtml#l00136">arm_compute::test::validation::policy</a>, and <a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7ba747385047b85ae751f83adb36435a3c1">TOP_LEFT</a>.</p>
</div>
</div>
@@ -19288,8 +20188,8 @@
</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#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>  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="l00977"></a><span class="lineno"> 977</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="l00978"></a><span class="lineno"> 978</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="l00979"></a><span class="lineno"> 979</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00980"></a><span class="lineno"> 980</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>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00980">980</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="l00981"></a><span class="lineno"> 981</span> {</div><div class="line"><a name="l00982"></a><span class="lineno"> 982</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="l00983"></a><span class="lineno"> 983</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="l00984"></a><span class="lineno"> 984</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="l00985"></a><span class="lineno"> 985</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00986"></a><span class="lineno"> 986</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>
@@ -19331,8 +20231,8 @@
</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#l01054">1054</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="l01055"></a><span class="lineno"> 1055</span> {</div><div class="line"><a name="l01056"></a><span class="lineno"> 1056</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="l01057"></a><span class="lineno"> 1057</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="l01058"></a><span class="lineno"> 1058</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="l01059"></a><span class="lineno"> 1059</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="l01060"></a><span class="lineno"> 1060</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="l01061"></a><span class="lineno"> 1061</span>  os << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> </div><div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01064"></a><span class="lineno"> 1064</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>
+<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>
+<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">"{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="l01063"></a><span class="lineno"> 1063</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="l01064"></a><span class="lineno"> 1064</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="l01065"></a><span class="lineno"> 1065</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="l01066"></a><span class="lineno"> 1066</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="l01067"></a><span class="lineno"> 1067</span>  os << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> </div><div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01070"></a><span class="lineno"> 1070</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>
@@ -19374,8 +20274,8 @@
</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>
-<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">"{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="l01076"></a><span class="lineno"> 1076</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="l01077"></a><span class="lineno"> 1077</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="l01078"></a><span class="lineno"> 1078</span>  os << <span class="stringliteral">"}"</span>;</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">return</span> os;</div><div class="line"><a name="l01081"></a><span class="lineno"> 1081</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>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01079">1079</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="l01080"></a><span class="lineno"> 1080</span> {</div><div class="line"><a name="l01081"></a><span class="lineno"> 1081</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="l01082"></a><span class="lineno"> 1082</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="l01083"></a><span class="lineno"> 1083</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="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 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>
@@ -19417,8 +20317,8 @@
</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#l01090">1090</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="l01091"></a><span class="lineno"> 1091</span> {</div><div class="line"><a name="l01092"></a><span class="lineno"> 1092</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="l01093"></a><span class="lineno"> 1093</span> </div><div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01096">1096</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="l01097"></a><span class="lineno"> 1097</span> {</div><div class="line"><a name="l01098"></a><span class="lineno"> 1098</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="l01099"></a><span class="lineno"> 1099</span> </div><div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> }</div></div><!-- fragment -->
<p class="reference">References <a class="el" href="_window_8h_source.xhtml#l00097">Window::Dimension::end()</a>, <a class="el" href="_window_8h_source.xhtml#l00092">Window::Dimension::start()</a>, and <a class="el" href="_window_8h_source.xhtml#l00102">Window::Dimension::step()</a>.</p>
</div>
@@ -19459,8 +20359,8 @@
</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#l01103">1103</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="l01104"></a><span class="lineno"> 1104</span> {</div><div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>  os << <span class="stringliteral">"{"</span>;</div><div class="line"><a name="l01106"></a><span class="lineno"> 1106</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="l01107"></a><span class="lineno"> 1107</span>  {</div><div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>  <span class="keywordflow">if</span>(i > 0)</div><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>  os << <span class="stringliteral">", "</span>;</div><div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>  }</div><div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>  os << win[i];</div><div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>  }</div><div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>  os << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> </div><div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01117"></a><span class="lineno"> 1117</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01109">1109</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="l01110"></a><span class="lineno"> 1110</span> {</div><div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>  os << <span class="stringliteral">"{"</span>;</div><div class="line"><a name="l01112"></a><span class="lineno"> 1112</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="l01113"></a><span class="lineno"> 1113</span>  {</div><div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>  <span class="keywordflow">if</span>(i > 0)</div><div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>  {</div><div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>  os << <span class="stringliteral">", "</span>;</div><div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>  }</div><div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>  os << win[i];</div><div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>  }</div><div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>  os << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l01121"></a><span class="lineno"> 1121</span> </div><div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01123"></a><span class="lineno"> 1123</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>
@@ -19501,9 +20401,9 @@
</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#l01190">1190</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="l01191"></a><span class="lineno"> 1191</span> {</div><div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>  os << rect.width << <span class="stringliteral">"x"</span> << rect.height;</div><div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>  os << <span class="stringliteral">"+"</span> << rect.x << <span class="stringliteral">"+"</span> << rect.y;</div><div class="line"><a name="l01194"></a><span class="lineno"> 1194</span> </div><div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01196"></a><span class="lineno"> 1196</span> }</div></div><!-- fragment -->
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00423">Rectangle::height</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00422">Rectangle::width</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00420">Rectangle::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00421">Rectangle::y</a>.</p>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01196">1196</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="l01197"></a><span class="lineno"> 1197</span> {</div><div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>  os << rect.width << <span class="stringliteral">"x"</span> << rect.height;</div><div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>  os << <span class="stringliteral">"+"</span> << rect.x << <span class="stringliteral">"+"</span> << rect.y;</div><div class="line"><a name="l01200"></a><span class="lineno"> 1200</span> </div><div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01202"></a><span class="lineno"> 1202</span> }</div></div><!-- fragment -->
+<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00432">Rectangle::height</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00431">Rectangle::width</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00429">Rectangle::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00430">Rectangle::y</a>.</p>
</div>
</div>
@@ -19543,10 +20443,10 @@
</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#l01205">1205</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="l01206"></a><span class="lineno"> 1206</span> {</div><div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>  <span class="keywordflow">switch</span>(mode)</div><div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>  {</div><div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>  <span class="keywordflow">case</span> PaddingMode::CONSTANT:</div><div class="line"><a name="l01210"></a><span class="lineno"> 1210</span>  os << <span class="stringliteral">"CONSTANT"</span>;</div><div class="line"><a name="l01211"></a><span class="lineno"> 1211</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>  <span class="keywordflow">case</span> PaddingMode::REFLECT:</div><div class="line"><a name="l01213"></a><span class="lineno"> 1213</span>  os << <span class="stringliteral">"REFLECT"</span>;</div><div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>  <span class="keywordflow">case</span> PaddingMode::SYMMETRIC:</div><div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>  os << <span class="stringliteral">"SYMMETRIC"</span>;</div><div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01219"></a><span class="lineno"> 1219</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="l01220"></a><span class="lineno"> 1220</span>  }</div><div class="line"><a name="l01221"></a><span class="lineno"> 1221</span> </div><div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01223"></a><span class="lineno"> 1223</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#l01211">1211</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="l01212"></a><span class="lineno"> 1212</span> {</div><div class="line"><a name="l01213"></a><span class="lineno"> 1213</span>  <span class="keywordflow">switch</span>(mode)</div><div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>  {</div><div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>  <span class="keywordflow">case</span> PaddingMode::CONSTANT:</div><div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>  os << <span class="stringliteral">"CONSTANT"</span>;</div><div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>  <span class="keywordflow">case</span> PaddingMode::REFLECT:</div><div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>  os << <span class="stringliteral">"REFLECT"</span>;</div><div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>  <span class="keywordflow">case</span> PaddingMode::SYMMETRIC:</div><div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>  os << <span class="stringliteral">"SYMMETRIC"</span>;</div><div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>  }</div><div class="line"><a name="l01227"></a><span class="lineno"> 1227</span> </div><div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01229"></a><span class="lineno"> 1229</span> }</div><div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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#a14d24d90ab4ba2956e92e27890ba4c91a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>, <a class="el" href="namespacearm__compute.xhtml#a14d24d90ab4ba2956e92e27890ba4c91ae4f6a05f82ed398f984f4bc1a55838df">REFLECT</a>, and <a class="el" href="namespacearm__compute.xhtml#a14d24d90ab4ba2956e92e27890ba4c91a161b3d9016563aba9ac190fc02ada9bb">SYMMETRIC</a>.</p>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00352">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a14d24d90ab4ba2956e92e27890ba4c91a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>, <a class="el" href="namespacearm__compute.xhtml#a14d24d90ab4ba2956e92e27890ba4c91ae4f6a05f82ed398f984f4bc1a55838df">REFLECT</a>, and <a class="el" href="namespacearm__compute.xhtml#a14d24d90ab4ba2956e92e27890ba4c91a161b3d9016563aba9ac190fc02ada9bb">SYMMETRIC</a>.</p>
</div>
</div>
@@ -19586,9 +20486,9 @@
</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#l01245">1245</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="l01246"></a><span class="lineno"> 1246</span> {</div><div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>  os << pad_stride_info.stride().first << <span class="stringliteral">","</span> << pad_stride_info.stride().second;</div><div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>  os << <span class="stringliteral">";"</span>;</div><div class="line"><a name="l01249"></a><span class="lineno"> 1249</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="l01250"></a><span class="lineno"> 1250</span>  << pad_stride_info.pad_top() << <span class="stringliteral">","</span> << pad_stride_info.pad_bottom();</div><div class="line"><a name="l01251"></a><span class="lineno"> 1251</span> </div><div class="line"><a name="l01252"></a><span class="lineno"> 1252</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01253"></a><span class="lineno"> 1253</span> }</div></div><!-- fragment -->
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00765">PadStrideInfo::pad_bottom()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00750">PadStrideInfo::pad_left()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00755">PadStrideInfo::pad_right()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00760">PadStrideInfo::pad_top()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00724">PadStrideInfo::stride()</a>.</p>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01251">1251</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="l01252"></a><span class="lineno"> 1252</span> {</div><div class="line"><a name="l01253"></a><span class="lineno"> 1253</span>  os << pad_stride_info.stride().first << <span class="stringliteral">","</span> << pad_stride_info.stride().second;</div><div class="line"><a name="l01254"></a><span class="lineno"> 1254</span>  os << <span class="stringliteral">";"</span>;</div><div class="line"><a name="l01255"></a><span class="lineno"> 1255</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="l01256"></a><span class="lineno"> 1256</span>  << pad_stride_info.pad_top() << <span class="stringliteral">","</span> << pad_stride_info.pad_bottom();</div><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>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01259"></a><span class="lineno"> 1259</span> }</div></div><!-- fragment -->
+<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>
</div>
@@ -19628,11 +20528,11 @@
</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#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>  <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="l01356"></a><span class="lineno"> 1356</span>  {</div><div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>  <span class="keywordflow">case</span> ConvertPolicy::WRAP:</div><div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>  os << <span class="stringliteral">"WRAP"</span>;</div><div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01360"></a><span class="lineno"> 1360</span>  <span class="keywordflow">case</span> ConvertPolicy::SATURATE:</div><div class="line"><a name="l01361"></a><span class="lineno"> 1361</span>  os << <span class="stringliteral">"SATURATE"</span>;</div><div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01363"></a><span class="lineno"> 1363</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01364"></a><span class="lineno"> 1364</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="l01365"></a><span class="lineno"> 1365</span>  }</div><div class="line"><a name="l01366"></a><span class="lineno"> 1366</span> </div><div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01368"></a><span class="lineno"> 1368</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_addition_8cpp_source.xhtml#l00136">ArithmeticAddition.cpp:136</a></div></div>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01359">1359</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="l01360"></a><span class="lineno"> 1360</span> {</div><div class="line"><a name="l01361"></a><span class="lineno"> 1361</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="l01362"></a><span class="lineno"> 1362</span>  {</div><div class="line"><a name="l01363"></a><span class="lineno"> 1363</span>  <span class="keywordflow">case</span> ConvertPolicy::WRAP:</div><div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>  os << <span class="stringliteral">"WRAP"</span>;</div><div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>  <span class="keywordflow">case</span> ConvertPolicy::SATURATE:</div><div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>  os << <span class="stringliteral">"SATURATE"</span>;</div><div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01370"></a><span class="lineno"> 1370</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><div class="line"><a name="l01371"></a><span class="lineno"> 1371</span>  }</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>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01374"></a><span class="lineno"> 1374</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_addition_8cpp_source.xhtml#l00136">ArithmeticAddition.cpp:136</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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="_c_l_2_arithmetic_addition_8cpp_source.xhtml#l00136">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>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00352">ARM_COMPUTE_ERROR</a>, <a class="el" href="_c_l_2_arithmetic_addition_8cpp_source.xhtml#l00136">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>
@@ -19672,17 +20572,17 @@
</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#l01384">1384</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="l01385"></a><span class="lineno"> 1385</span> {</div><div class="line"><a name="l01386"></a><span class="lineno"> 1386</span>  <span class="keywordflow">switch</span>(op)</div><div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>  {</div><div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>  <span class="keywordflow">case</span> <a class="code" href="elementwise__operation_8cl.xhtml#af3b709fb668cf93ca09e2a46a2a031a8">ArithmeticOperation::ADD</a>:</div><div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>  os << <span class="stringliteral">"ADD"</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> <a class="code" href="elementwise__operation_8cl.xhtml#aafc2c4f262a0686c07f86c7d2e1d8d14">ArithmeticOperation::SUB</a>:</div><div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>  os << <span class="stringliteral">"SUB"</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> <a class="code" href="elementwise__operation_8cl.xhtml#a49f6fecffd852cda3b0ece53dcbb2b87">ArithmeticOperation::DIV</a>:</div><div class="line"><a name="l01395"></a><span class="lineno"> 1395</span>  os << <span class="stringliteral">"DIV"</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> <a class="code" href="elementwise__operation_8cl.xhtml#aacc3ee1a7f283f8ef65cea31f4436a95">ArithmeticOperation::MAX</a>:</div><div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>  os << <span class="stringliteral">"MAX"</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> <a class="code" href="elementwise__operation_8cl.xhtml#a74e75242132eaabbc1c512488a135926">ArithmeticOperation::MIN</a>:</div><div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>  os << <span class="stringliteral">"MIN"</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">case</span> <a class="code" href="elementwise__operation_8cl.xhtml#ab05bd244cb8823c69d6dce6a23a758fd">ArithmeticOperation::SQUARED_DIFF</a>:</div><div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>  os << <span class="stringliteral">"SQUARED_DIFF"</span>;</div><div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>  <span class="keywordflow">case</span> <a class="code" href="elementwise__operation_8cl.xhtml#a720998f8e544cdc6d3c4c3c8d7ac5377">ArithmeticOperation::POWER</a>:</div><div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>  os << <span class="stringliteral">"POWER"</span>;</div><div class="line"><a name="l01408"></a><span class="lineno"> 1408</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01409"></a><span class="lineno"> 1409</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01410"></a><span class="lineno"> 1410</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="l01411"></a><span class="lineno"> 1411</span>  }</div><div class="line"><a name="l01412"></a><span class="lineno"> 1412</span> </div><div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01414"></a><span class="lineno"> 1414</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>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01390">1390</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="l01391"></a><span class="lineno"> 1391</span> {</div><div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>  <span class="keywordflow">switch</span>(op)</div><div class="line"><a name="l01393"></a><span class="lineno"> 1393</span>  {</div><div class="line"><a name="l01394"></a><span class="lineno"> 1394</span>  <span class="keywordflow">case</span> <a class="code" href="elementwise__operation_8cl.xhtml#af3b709fb668cf93ca09e2a46a2a031a8">ArithmeticOperation::ADD</a>:</div><div class="line"><a name="l01395"></a><span class="lineno"> 1395</span>  os << <span class="stringliteral">"ADD"</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> <a class="code" href="elementwise__operation_8cl.xhtml#aafc2c4f262a0686c07f86c7d2e1d8d14">ArithmeticOperation::SUB</a>:</div><div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>  os << <span class="stringliteral">"SUB"</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> <a class="code" href="elementwise__operation_8cl.xhtml#a49f6fecffd852cda3b0ece53dcbb2b87">ArithmeticOperation::DIV</a>:</div><div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>  os << <span class="stringliteral">"DIV"</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">case</span> <a class="code" href="elementwise__operation_8cl.xhtml#aacc3ee1a7f283f8ef65cea31f4436a95">ArithmeticOperation::MAX</a>:</div><div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>  os << <span class="stringliteral">"MAX"</span>;</div><div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>  <span class="keywordflow">case</span> <a class="code" href="elementwise__operation_8cl.xhtml#a74e75242132eaabbc1c512488a135926">ArithmeticOperation::MIN</a>:</div><div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>  os << <span class="stringliteral">"MIN"</span>;</div><div class="line"><a name="l01408"></a><span class="lineno"> 1408</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01409"></a><span class="lineno"> 1409</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="l01410"></a><span class="lineno"> 1410</span>  os << <span class="stringliteral">"SQUARED_DIFF"</span>;</div><div class="line"><a name="l01411"></a><span class="lineno"> 1411</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>  <span class="keywordflow">case</span> <a class="code" href="elementwise__operation_8cl.xhtml#a720998f8e544cdc6d3c4c3c8d7ac5377">ArithmeticOperation::POWER</a>:</div><div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>  os << <span class="stringliteral">"POWER"</span>;</div><div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><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> </div><div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01420"></a><span class="lineno"> 1420</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="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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_a720998f8e544cdc6d3c4c3c8d7ac5377"><div class="ttname"><a href="elementwise__operation_8cl.xhtml#a720998f8e544cdc6d3c4c3c8d7ac5377">POWER</a></div><div class="ttdeci">#define POWER(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="elementwise__operation_8cl_source.xhtml#l00040">elementwise_operation.cl:40</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#a23d9f0c01c9e120dfb828ee922b7a8aeac9c9c146c630ca5ef9197c73c032f4a6">POWER</a>, <a class="el" href="namespacearm__compute.xhtml#a23d9f0c01c9e120dfb828ee922b7a8aea46ea186b87dc545033d86ba8d6e63916">SQUARED_DIFF</a>, and <a class="el" href="namespacearm__compute.xhtml#a23d9f0c01c9e120dfb828ee922b7a8aea241dd841abade20fcb27b8a9f494e1eb">SUB</a>.</p>
+<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#a23d9f0c01c9e120dfb828ee922b7a8aea9eeb52badb613229884838847294b90d">ADD</a>, <a class="el" href="_error_8h_source.xhtml#l00352">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#a23d9f0c01c9e120dfb828ee922b7a8aeac9c9c146c630ca5ef9197c73c032f4a6">POWER</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>
@@ -19722,12 +20622,12 @@
</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#l01436">1436</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="l01437"></a><span class="lineno"> 1437</span> {</div><div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>  <span class="keywordflow">switch</span>(op)</div><div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>  {</div><div class="line"><a name="l01440"></a><span class="lineno"> 1440</span>  <span class="keywordflow">case</span> ReductionOperation::SUM:</div><div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>  os << <span class="stringliteral">"SUM"</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> ReductionOperation::SUM_SQUARE:</div><div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>  os << <span class="stringliteral">"SUM_SQUARE"</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> ReductionOperation::MEAN_SUM:</div><div class="line"><a name="l01447"></a><span class="lineno"> 1447</span>  os << <span class="stringliteral">"MEAN_SUM"</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> ReductionOperation::ARG_IDX_MAX:</div><div class="line"><a name="l01450"></a><span class="lineno"> 1450</span>  os << <span class="stringliteral">"ARG_IDX_MAX"</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">case</span> ReductionOperation::ARG_IDX_MIN:</div><div class="line"><a name="l01453"></a><span class="lineno"> 1453</span>  os << <span class="stringliteral">"ARG_IDX_MIN"</span>;</div><div class="line"><a name="l01454"></a><span class="lineno"> 1454</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>  <span class="keywordflow">case</span> ReductionOperation::PROD:</div><div class="line"><a name="l01456"></a><span class="lineno"> 1456</span>  os << <span class="stringliteral">"PROD"</span>;</div><div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>  <span class="keywordflow">case</span> <a class="code" href="elementwise__operation_8cl.xhtml#a74e75242132eaabbc1c512488a135926">ReductionOperation::MIN</a>:</div><div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>  os << <span class="stringliteral">"MIN"</span>;</div><div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01461"></a><span class="lineno"> 1461</span>  <span class="keywordflow">case</span> <a class="code" href="elementwise__operation_8cl.xhtml#aacc3ee1a7f283f8ef65cea31f4436a95">ReductionOperation::MAX</a>:</div><div class="line"><a name="l01462"></a><span class="lineno"> 1462</span>  os << <span class="stringliteral">"MAX"</span>;</div><div class="line"><a name="l01463"></a><span class="lineno"> 1463</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01464"></a><span class="lineno"> 1464</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01465"></a><span class="lineno"> 1465</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="l01466"></a><span class="lineno"> 1466</span>  }</div><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">return</span> os;</div><div class="line"><a name="l01469"></a><span class="lineno"> 1469</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>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01442">1442</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="l01443"></a><span class="lineno"> 1443</span> {</div><div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>  <span class="keywordflow">switch</span>(op)</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">case</span> ReductionOperation::SUM:</div><div class="line"><a name="l01447"></a><span class="lineno"> 1447</span>  os << <span class="stringliteral">"SUM"</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> ReductionOperation::SUM_SQUARE:</div><div class="line"><a name="l01450"></a><span class="lineno"> 1450</span>  os << <span class="stringliteral">"SUM_SQUARE"</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">case</span> ReductionOperation::MEAN_SUM:</div><div class="line"><a name="l01453"></a><span class="lineno"> 1453</span>  os << <span class="stringliteral">"MEAN_SUM"</span>;</div><div class="line"><a name="l01454"></a><span class="lineno"> 1454</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>  <span class="keywordflow">case</span> ReductionOperation::ARG_IDX_MAX:</div><div class="line"><a name="l01456"></a><span class="lineno"> 1456</span>  os << <span class="stringliteral">"ARG_IDX_MAX"</span>;</div><div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>  <span class="keywordflow">case</span> ReductionOperation::ARG_IDX_MIN:</div><div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>  os << <span class="stringliteral">"ARG_IDX_MIN"</span>;</div><div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01461"></a><span class="lineno"> 1461</span>  <span class="keywordflow">case</span> ReductionOperation::PROD:</div><div class="line"><a name="l01462"></a><span class="lineno"> 1462</span>  os << <span class="stringliteral">"PROD"</span>;</div><div class="line"><a name="l01463"></a><span class="lineno"> 1463</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01464"></a><span class="lineno"> 1464</span>  <span class="keywordflow">case</span> <a class="code" href="elementwise__operation_8cl.xhtml#a74e75242132eaabbc1c512488a135926">ReductionOperation::MIN</a>:</div><div class="line"><a name="l01465"></a><span class="lineno"> 1465</span>  os << <span class="stringliteral">"MIN"</span>;</div><div class="line"><a name="l01466"></a><span class="lineno"> 1466</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01467"></a><span class="lineno"> 1467</span>  <span class="keywordflow">case</span> <a class="code" href="elementwise__operation_8cl.xhtml#aacc3ee1a7f283f8ef65cea31f4436a95">ReductionOperation::MAX</a>:</div><div class="line"><a name="l01468"></a><span class="lineno"> 1468</span>  os << <span class="stringliteral">"MAX"</span>;</div><div class="line"><a name="l01469"></a><span class="lineno"> 1469</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01470"></a><span class="lineno"> 1470</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01471"></a><span class="lineno"> 1471</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</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> </div><div class="line"><a name="l01474"></a><span class="lineno"> 1474</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01475"></a><span class="lineno"> 1475</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="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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#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#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a>, <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45bafc54513dae613e117ffc4169e48bfce5">MEAN_SUM</a>, <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653">MIN</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>
+<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#l00352">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a>, <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45bafc54513dae613e117ffc4169e48bfce5">MEAN_SUM</a>, <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653">MIN</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>
@@ -19767,10 +20667,10 @@
</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#l01491">1491</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="l01492"></a><span class="lineno"> 1492</span> {</div><div class="line"><a name="l01493"></a><span class="lineno"> 1493</span>  <span class="keywordflow">switch</span>(op)</div><div class="line"><a name="l01494"></a><span class="lineno"> 1494</span>  {</div><div class="line"><a name="l01495"></a><span class="lineno"> 1495</span>  <span class="keywordflow">case</span> ComparisonOperation::Equal:</div><div class="line"><a name="l01496"></a><span class="lineno"> 1496</span>  os << <span class="stringliteral">"Equal"</span>;</div><div class="line"><a name="l01497"></a><span class="lineno"> 1497</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01498"></a><span class="lineno"> 1498</span>  <span class="keywordflow">case</span> ComparisonOperation::NotEqual:</div><div class="line"><a name="l01499"></a><span class="lineno"> 1499</span>  os << <span class="stringliteral">"NotEqual"</span>;</div><div class="line"><a name="l01500"></a><span class="lineno"> 1500</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01501"></a><span class="lineno"> 1501</span>  <span class="keywordflow">case</span> ComparisonOperation::Greater:</div><div class="line"><a name="l01502"></a><span class="lineno"> 1502</span>  os << <span class="stringliteral">"Greater"</span>;</div><div class="line"><a name="l01503"></a><span class="lineno"> 1503</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01504"></a><span class="lineno"> 1504</span>  <span class="keywordflow">case</span> ComparisonOperation::GreaterEqual:</div><div class="line"><a name="l01505"></a><span class="lineno"> 1505</span>  os << <span class="stringliteral">"GreaterEqual"</span>;</div><div class="line"><a name="l01506"></a><span class="lineno"> 1506</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01507"></a><span class="lineno"> 1507</span>  <span class="keywordflow">case</span> ComparisonOperation::Less:</div><div class="line"><a name="l01508"></a><span class="lineno"> 1508</span>  os << <span class="stringliteral">"Less"</span>;</div><div class="line"><a name="l01509"></a><span class="lineno"> 1509</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01510"></a><span class="lineno"> 1510</span>  <span class="keywordflow">case</span> ComparisonOperation::LessEqual:</div><div class="line"><a name="l01511"></a><span class="lineno"> 1511</span>  os << <span class="stringliteral">"LessEqual"</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">default</span>:</div><div class="line"><a name="l01514"></a><span class="lineno"> 1514</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="l01515"></a><span class="lineno"> 1515</span>  }</div><div class="line"><a name="l01516"></a><span class="lineno"> 1516</span> </div><div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01518"></a><span class="lineno"> 1518</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#l01497">1497</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="l01498"></a><span class="lineno"> 1498</span> {</div><div class="line"><a name="l01499"></a><span class="lineno"> 1499</span>  <span class="keywordflow">switch</span>(op)</div><div class="line"><a name="l01500"></a><span class="lineno"> 1500</span>  {</div><div class="line"><a name="l01501"></a><span class="lineno"> 1501</span>  <span class="keywordflow">case</span> ComparisonOperation::Equal:</div><div class="line"><a name="l01502"></a><span class="lineno"> 1502</span>  os << <span class="stringliteral">"Equal"</span>;</div><div class="line"><a name="l01503"></a><span class="lineno"> 1503</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01504"></a><span class="lineno"> 1504</span>  <span class="keywordflow">case</span> ComparisonOperation::NotEqual:</div><div class="line"><a name="l01505"></a><span class="lineno"> 1505</span>  os << <span class="stringliteral">"NotEqual"</span>;</div><div class="line"><a name="l01506"></a><span class="lineno"> 1506</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01507"></a><span class="lineno"> 1507</span>  <span class="keywordflow">case</span> ComparisonOperation::Greater:</div><div class="line"><a name="l01508"></a><span class="lineno"> 1508</span>  os << <span class="stringliteral">"Greater"</span>;</div><div class="line"><a name="l01509"></a><span class="lineno"> 1509</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01510"></a><span class="lineno"> 1510</span>  <span class="keywordflow">case</span> ComparisonOperation::GreaterEqual:</div><div class="line"><a name="l01511"></a><span class="lineno"> 1511</span>  os << <span class="stringliteral">"GreaterEqual"</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> ComparisonOperation::Less:</div><div class="line"><a name="l01514"></a><span class="lineno"> 1514</span>  os << <span class="stringliteral">"Less"</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> ComparisonOperation::LessEqual:</div><div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>  os << <span class="stringliteral">"LessEqual"</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#a7cf8d8b669b8f7b05680230be30d60f4">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_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00352">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>
@@ -19810,10 +20710,10 @@
</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#l01527">1527</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="l01528"></a><span class="lineno"> 1528</span> {</div><div class="line"><a name="l01529"></a><span class="lineno"> 1529</span>  <span class="keywordflow">switch</span>(op)</div><div class="line"><a name="l01530"></a><span class="lineno"> 1530</span>  {</div><div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>  <span class="keywordflow">case</span> ElementWiseUnary::RSQRT:</div><div class="line"><a name="l01532"></a><span class="lineno"> 1532</span>  os << <span class="stringliteral">"RSQRT"</span>;</div><div class="line"><a name="l01533"></a><span class="lineno"> 1533</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01534"></a><span class="lineno"> 1534</span>  <span class="keywordflow">case</span> ElementWiseUnary::EXP:</div><div class="line"><a name="l01535"></a><span class="lineno"> 1535</span>  os << <span class="stringliteral">"EXP"</span>;</div><div class="line"><a name="l01536"></a><span class="lineno"> 1536</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01537"></a><span class="lineno"> 1537</span>  <span class="keywordflow">case</span> ElementWiseUnary::NEG:</div><div class="line"><a name="l01538"></a><span class="lineno"> 1538</span>  os << <span class="stringliteral">"NEG"</span>;</div><div class="line"><a name="l01539"></a><span class="lineno"> 1539</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>  <span class="keywordflow">case</span> ElementWiseUnary::LOG:</div><div class="line"><a name="l01541"></a><span class="lineno"> 1541</span>  os << <span class="stringliteral">"LOG"</span>;</div><div class="line"><a name="l01542"></a><span class="lineno"> 1542</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01543"></a><span class="lineno"> 1543</span>  <span class="keywordflow">case</span> ElementWiseUnary::ROUND:</div><div class="line"><a name="l01544"></a><span class="lineno"> 1544</span>  os << <span class="stringliteral">"ROUND"</span>;</div><div class="line"><a name="l01545"></a><span class="lineno"> 1545</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01546"></a><span class="lineno"> 1546</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01547"></a><span class="lineno"> 1547</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="l01548"></a><span class="lineno"> 1548</span>  }</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 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#l01533">1533</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="l01534"></a><span class="lineno"> 1534</span> {</div><div class="line"><a name="l01535"></a><span class="lineno"> 1535</span>  <span class="keywordflow">switch</span>(op)</div><div class="line"><a name="l01536"></a><span class="lineno"> 1536</span>  {</div><div class="line"><a name="l01537"></a><span class="lineno"> 1537</span>  <span class="keywordflow">case</span> ElementWiseUnary::RSQRT:</div><div class="line"><a name="l01538"></a><span class="lineno"> 1538</span>  os << <span class="stringliteral">"RSQRT"</span>;</div><div class="line"><a name="l01539"></a><span class="lineno"> 1539</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>  <span class="keywordflow">case</span> ElementWiseUnary::EXP:</div><div class="line"><a name="l01541"></a><span class="lineno"> 1541</span>  os << <span class="stringliteral">"EXP"</span>;</div><div class="line"><a name="l01542"></a><span class="lineno"> 1542</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01543"></a><span class="lineno"> 1543</span>  <span class="keywordflow">case</span> ElementWiseUnary::NEG:</div><div class="line"><a name="l01544"></a><span class="lineno"> 1544</span>  os << <span class="stringliteral">"NEG"</span>;</div><div class="line"><a name="l01545"></a><span class="lineno"> 1545</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01546"></a><span class="lineno"> 1546</span>  <span class="keywordflow">case</span> ElementWiseUnary::LOG:</div><div class="line"><a name="l01547"></a><span class="lineno"> 1547</span>  os << <span class="stringliteral">"LOG"</span>;</div><div class="line"><a name="l01548"></a><span class="lineno"> 1548</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01549"></a><span class="lineno"> 1549</span>  <span class="keywordflow">case</span> ElementWiseUnary::ROUND:</div><div class="line"><a name="l01550"></a><span class="lineno"> 1550</span>  os << <span class="stringliteral">"ROUND"</span>;</div><div class="line"><a name="l01551"></a><span class="lineno"> 1551</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01552"></a><span class="lineno"> 1552</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01553"></a><span class="lineno"> 1553</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><div class="line"><a name="l01554"></a><span class="lineno"> 1554</span>  }</div><div class="line"><a name="l01555"></a><span class="lineno"> 1555</span> </div><div class="line"><a name="l01556"></a><span class="lineno"> 1556</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01557"></a><span class="lineno"> 1557</span> }</div><div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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>, <a class="el" href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936da4b5ffcdaf38ce4d463171f5c977c5ab3">LOG</a>, <a class="el" href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936da5dd68b1a7db42a1cce4dce09dbaa179e">NEG</a>, <a class="el" href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936da2ea77cf582892014b30e6fa7e558350d">ROUND</a>, and <a class="el" href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936da66bac724670f51e77f3688d33ca0d781">RSQRT</a>.</p>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00352">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936da8c670f8c37b95e1ed14a0ce414b049c7">EXP</a>, <a class="el" href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936da4b5ffcdaf38ce4d463171f5c977c5ab3">LOG</a>, <a class="el" href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936da5dd68b1a7db42a1cce4dce09dbaa179e">NEG</a>, <a class="el" href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936da2ea77cf582892014b30e6fa7e558350d">ROUND</a>, and <a class="el" href="namespacearm__compute.xhtml#a5dad01b7eab116403241313417e0936da66bac724670f51e77f3688d33ca0d781">RSQRT</a>.</p>
</div>
</div>
@@ -19853,9 +20753,9 @@
</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#l01657">1657</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="l01658"></a><span class="lineno"> 1658</span> {</div><div class="line"><a name="l01659"></a><span class="lineno"> 1659</span>  os << <span class="stringliteral">"{x="</span> << point.x << <span class="stringliteral">","</span></div><div class="line"><a name="l01660"></a><span class="lineno"> 1660</span>  << <span class="stringliteral">"y="</span> << point.y << <span class="stringliteral">","</span></div><div class="line"><a name="l01661"></a><span class="lineno"> 1661</span>  << <span class="stringliteral">"strength="</span> << point.strength << <span class="stringliteral">","</span></div><div class="line"><a name="l01662"></a><span class="lineno"> 1662</span>  << <span class="stringliteral">"scale="</span> << point.scale << <span class="stringliteral">","</span></div><div class="line"><a name="l01663"></a><span class="lineno"> 1663</span>  << <span class="stringliteral">"orientation="</span> << point.orientation << <span class="stringliteral">","</span></div><div class="line"><a name="l01664"></a><span class="lineno"> 1664</span>  << <span class="stringliteral">"tracking_status="</span> << point.tracking_status << <span class="stringliteral">","</span></div><div class="line"><a name="l01665"></a><span class="lineno"> 1665</span>  << <span class="stringliteral">"error="</span> << point.error << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l01666"></a><span class="lineno"> 1666</span> </div><div class="line"><a name="l01667"></a><span class="lineno"> 1667</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01668"></a><span class="lineno"> 1668</span> }</div></div><!-- fragment -->
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00411">KeyPoint::error</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00409">KeyPoint::orientation</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00408">KeyPoint::scale</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00407">KeyPoint::strength</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00410">KeyPoint::tracking_status</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00405">KeyPoint::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00406">KeyPoint::y</a>.</p>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01663">1663</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="l01664"></a><span class="lineno"> 1664</span> {</div><div class="line"><a name="l01665"></a><span class="lineno"> 1665</span>  os << <span class="stringliteral">"{x="</span> << point.x << <span class="stringliteral">","</span></div><div class="line"><a name="l01666"></a><span class="lineno"> 1666</span>  << <span class="stringliteral">"y="</span> << point.y << <span class="stringliteral">","</span></div><div class="line"><a name="l01667"></a><span class="lineno"> 1667</span>  << <span class="stringliteral">"strength="</span> << point.strength << <span class="stringliteral">","</span></div><div class="line"><a name="l01668"></a><span class="lineno"> 1668</span>  << <span class="stringliteral">"scale="</span> << point.scale << <span class="stringliteral">","</span></div><div class="line"><a name="l01669"></a><span class="lineno"> 1669</span>  << <span class="stringliteral">"orientation="</span> << point.orientation << <span class="stringliteral">","</span></div><div class="line"><a name="l01670"></a><span class="lineno"> 1670</span>  << <span class="stringliteral">"tracking_status="</span> << point.tracking_status << <span class="stringliteral">","</span></div><div class="line"><a name="l01671"></a><span class="lineno"> 1671</span>  << <span class="stringliteral">"error="</span> << point.error << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l01672"></a><span class="lineno"> 1672</span> </div><div class="line"><a name="l01673"></a><span class="lineno"> 1673</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01674"></a><span class="lineno"> 1674</span> }</div></div><!-- fragment -->
+<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00420">KeyPoint::error</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00418">KeyPoint::orientation</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00417">KeyPoint::scale</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00416">KeyPoint::strength</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00419">KeyPoint::tracking_status</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00414">KeyPoint::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00415">KeyPoint::y</a>.</p>
</div>
</div>
@@ -19895,10 +20795,10 @@
</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#l01677">1677</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="l01678"></a><span class="lineno"> 1678</span> {</div><div class="line"><a name="l01679"></a><span class="lineno"> 1679</span>  <span class="keywordflow">switch</span>(phase_type)</div><div class="line"><a name="l01680"></a><span class="lineno"> 1680</span>  {</div><div class="line"><a name="l01681"></a><span class="lineno"> 1681</span>  <span class="keywordflow">case</span> PhaseType::SIGNED:</div><div class="line"><a name="l01682"></a><span class="lineno"> 1682</span>  os << <span class="stringliteral">"SIGNED"</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> PhaseType::UNSIGNED:</div><div class="line"><a name="l01685"></a><span class="lineno"> 1685</span>  os << <span class="stringliteral">"UNSIGNED"</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">default</span>:</div><div class="line"><a name="l01688"></a><span class="lineno"> 1688</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="l01689"></a><span class="lineno"> 1689</span>  }</div><div class="line"><a name="l01690"></a><span class="lineno"> 1690</span> </div><div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01692"></a><span class="lineno"> 1692</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#l01683">1683</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="l01684"></a><span class="lineno"> 1684</span> {</div><div class="line"><a name="l01685"></a><span class="lineno"> 1685</span>  <span class="keywordflow">switch</span>(phase_type)</div><div class="line"><a name="l01686"></a><span class="lineno"> 1686</span>  {</div><div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>  <span class="keywordflow">case</span> PhaseType::SIGNED:</div><div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>  os << <span class="stringliteral">"SIGNED"</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> PhaseType::UNSIGNED:</div><div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>  os << <span class="stringliteral">"UNSIGNED"</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#a7cf8d8b669b8f7b05680230be30d60f4">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_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00352">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>
@@ -19938,10 +20838,10 @@
</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#l01714">1714</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="l01715"></a><span class="lineno"> 1715</span> {</div><div class="line"><a name="l01716"></a><span class="lineno"> 1716</span>  <span class="keywordflow">switch</span>(magnitude_type)</div><div class="line"><a name="l01717"></a><span class="lineno"> 1717</span>  {</div><div class="line"><a name="l01718"></a><span class="lineno"> 1718</span>  <span class="keywordflow">case</span> MagnitudeType::L1NORM:</div><div class="line"><a name="l01719"></a><span class="lineno"> 1719</span>  os << <span class="stringliteral">"L1NORM"</span>;</div><div class="line"><a name="l01720"></a><span class="lineno"> 1720</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>  <span class="keywordflow">case</span> MagnitudeType::L2NORM:</div><div class="line"><a name="l01722"></a><span class="lineno"> 1722</span>  os << <span class="stringliteral">"L2NORM"</span>;</div><div class="line"><a name="l01723"></a><span class="lineno"> 1723</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01724"></a><span class="lineno"> 1724</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01725"></a><span class="lineno"> 1725</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="l01726"></a><span class="lineno"> 1726</span>  }</div><div class="line"><a name="l01727"></a><span class="lineno"> 1727</span> </div><div class="line"><a name="l01728"></a><span class="lineno"> 1728</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01729"></a><span class="lineno"> 1729</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#l01720">1720</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="l01721"></a><span class="lineno"> 1721</span> {</div><div class="line"><a name="l01722"></a><span class="lineno"> 1722</span>  <span class="keywordflow">switch</span>(magnitude_type)</div><div class="line"><a name="l01723"></a><span class="lineno"> 1723</span>  {</div><div class="line"><a name="l01724"></a><span class="lineno"> 1724</span>  <span class="keywordflow">case</span> MagnitudeType::L1NORM:</div><div class="line"><a name="l01725"></a><span class="lineno"> 1725</span>  os << <span class="stringliteral">"L1NORM"</span>;</div><div class="line"><a name="l01726"></a><span class="lineno"> 1726</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01727"></a><span class="lineno"> 1727</span>  <span class="keywordflow">case</span> MagnitudeType::L2NORM:</div><div class="line"><a name="l01728"></a><span class="lineno"> 1728</span>  os << <span class="stringliteral">"L2NORM"</span>;</div><div class="line"><a name="l01729"></a><span class="lineno"> 1729</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01730"></a><span class="lineno"> 1730</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01731"></a><span class="lineno"> 1731</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><div class="line"><a name="l01732"></a><span class="lineno"> 1732</span>  }</div><div class="line"><a name="l01733"></a><span class="lineno"> 1733</span> </div><div class="line"><a name="l01734"></a><span class="lineno"> 1734</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01735"></a><span class="lineno"> 1735</span> }</div><div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00352">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>
@@ -19981,10 +20881,10 @@
</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#l01751">1751</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="l01752"></a><span class="lineno"> 1752</span> {</div><div class="line"><a name="l01753"></a><span class="lineno"> 1753</span>  <span class="keywordflow">switch</span>(norm_type)</div><div class="line"><a name="l01754"></a><span class="lineno"> 1754</span>  {</div><div class="line"><a name="l01755"></a><span class="lineno"> 1755</span>  <span class="keywordflow">case</span> HOGNormType::L1_NORM:</div><div class="line"><a name="l01756"></a><span class="lineno"> 1756</span>  os << <span class="stringliteral">"L1_NORM"</span>;</div><div class="line"><a name="l01757"></a><span class="lineno"> 1757</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01758"></a><span class="lineno"> 1758</span>  <span class="keywordflow">case</span> HOGNormType::L2_NORM:</div><div class="line"><a name="l01759"></a><span class="lineno"> 1759</span>  os << <span class="stringliteral">"L2_NORM"</span>;</div><div class="line"><a name="l01760"></a><span class="lineno"> 1760</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01761"></a><span class="lineno"> 1761</span>  <span class="keywordflow">case</span> HOGNormType::L2HYS_NORM:</div><div class="line"><a name="l01762"></a><span class="lineno"> 1762</span>  os << <span class="stringliteral">"L2HYS_NORM"</span>;</div><div class="line"><a name="l01763"></a><span class="lineno"> 1763</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01764"></a><span class="lineno"> 1764</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01765"></a><span class="lineno"> 1765</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="l01766"></a><span class="lineno"> 1766</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>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01769"></a><span class="lineno"> 1769</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#l01757">1757</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="l01758"></a><span class="lineno"> 1758</span> {</div><div class="line"><a name="l01759"></a><span class="lineno"> 1759</span>  <span class="keywordflow">switch</span>(norm_type)</div><div class="line"><a name="l01760"></a><span class="lineno"> 1760</span>  {</div><div class="line"><a name="l01761"></a><span class="lineno"> 1761</span>  <span class="keywordflow">case</span> HOGNormType::L1_NORM:</div><div class="line"><a name="l01762"></a><span class="lineno"> 1762</span>  os << <span class="stringliteral">"L1_NORM"</span>;</div><div class="line"><a name="l01763"></a><span class="lineno"> 1763</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01764"></a><span class="lineno"> 1764</span>  <span class="keywordflow">case</span> HOGNormType::L2_NORM:</div><div class="line"><a name="l01765"></a><span class="lineno"> 1765</span>  os << <span class="stringliteral">"L2_NORM"</span>;</div><div class="line"><a name="l01766"></a><span class="lineno"> 1766</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01767"></a><span class="lineno"> 1767</span>  <span class="keywordflow">case</span> HOGNormType::L2HYS_NORM:</div><div class="line"><a name="l01768"></a><span class="lineno"> 1768</span>  os << <span class="stringliteral">"L2HYS_NORM"</span>;</div><div class="line"><a name="l01769"></a><span class="lineno"> 1769</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01770"></a><span class="lineno"> 1770</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01771"></a><span class="lineno"> 1771</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><div class="line"><a name="l01772"></a><span class="lineno"> 1772</span>  }</div><div class="line"><a name="l01773"></a><span class="lineno"> 1773</span> </div><div class="line"><a name="l01774"></a><span class="lineno"> 1774</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01775"></a><span class="lineno"> 1775</span> }</div><div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00352">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>
@@ -20024,8 +20924,8 @@
</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#l01791">1791</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="l01792"></a><span class="lineno"> 1792</span> {</div><div class="line"><a name="l01793"></a><span class="lineno"> 1793</span>  os << size.width << <span class="stringliteral">"x"</span> << size.height;</div><div class="line"><a name="l01794"></a><span class="lineno"> 1794</span> </div><div class="line"><a name="l01795"></a><span class="lineno"> 1795</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01796"></a><span class="lineno"> 1796</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01797">1797</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="l01798"></a><span class="lineno"> 1798</span> {</div><div class="line"><a name="l01799"></a><span class="lineno"> 1799</span>  os << size.width << <span class="stringliteral">"x"</span> << size.height;</div><div class="line"><a name="l01800"></a><span class="lineno"> 1800</span> </div><div class="line"><a name="l01801"></a><span class="lineno"> 1801</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01802"></a><span class="lineno"> 1802</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>
@@ -20066,8 +20966,8 @@
</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#l01818">1818</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="l01819"></a><span class="lineno"> 1819</span> {</div><div class="line"><a name="l01820"></a><span class="lineno"> 1820</span>  os << <span class="stringliteral">"{CellSize="</span> << hog_info.cell_size() << <span class="stringliteral">","</span></div><div class="line"><a name="l01821"></a><span class="lineno"> 1821</span>  << <span class="stringliteral">"BlockSize="</span> << hog_info.block_size() << <span class="stringliteral">","</span></div><div class="line"><a name="l01822"></a><span class="lineno"> 1822</span>  << <span class="stringliteral">"DetectionWindowSize="</span> << hog_info.detection_window_size() << <span class="stringliteral">","</span></div><div class="line"><a name="l01823"></a><span class="lineno"> 1823</span>  << <span class="stringliteral">"BlockStride="</span> << hog_info.block_stride() << <span class="stringliteral">","</span></div><div class="line"><a name="l01824"></a><span class="lineno"> 1824</span>  << <span class="stringliteral">"NumBins="</span> << hog_info.num_bins() << <span class="stringliteral">","</span></div><div class="line"><a name="l01825"></a><span class="lineno"> 1825</span>  << <span class="stringliteral">"NormType="</span> << hog_info.normalization_type() << <span class="stringliteral">","</span></div><div class="line"><a name="l01826"></a><span class="lineno"> 1826</span>  << <span class="stringliteral">"L2HystThreshold="</span> << hog_info.l2_hyst_threshold() << <span class="stringliteral">","</span></div><div class="line"><a name="l01827"></a><span class="lineno"> 1827</span>  << <span class="stringliteral">"PhaseType="</span> << hog_info.phase_type() << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l01828"></a><span class="lineno"> 1828</span> </div><div class="line"><a name="l01829"></a><span class="lineno"> 1829</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01830"></a><span class="lineno"> 1830</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01824">1824</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="l01825"></a><span class="lineno"> 1825</span> {</div><div class="line"><a name="l01826"></a><span class="lineno"> 1826</span>  os << <span class="stringliteral">"{CellSize="</span> << hog_info.cell_size() << <span class="stringliteral">","</span></div><div class="line"><a name="l01827"></a><span class="lineno"> 1827</span>  << <span class="stringliteral">"BlockSize="</span> << hog_info.block_size() << <span class="stringliteral">","</span></div><div class="line"><a name="l01828"></a><span class="lineno"> 1828</span>  << <span class="stringliteral">"DetectionWindowSize="</span> << hog_info.detection_window_size() << <span class="stringliteral">","</span></div><div class="line"><a name="l01829"></a><span class="lineno"> 1829</span>  << <span class="stringliteral">"BlockStride="</span> << hog_info.block_stride() << <span class="stringliteral">","</span></div><div class="line"><a name="l01830"></a><span class="lineno"> 1830</span>  << <span class="stringliteral">"NumBins="</span> << hog_info.num_bins() << <span class="stringliteral">","</span></div><div class="line"><a name="l01831"></a><span class="lineno"> 1831</span>  << <span class="stringliteral">"NormType="</span> << hog_info.normalization_type() << <span class="stringliteral">","</span></div><div class="line"><a name="l01832"></a><span class="lineno"> 1832</span>  << <span class="stringliteral">"L2HystThreshold="</span> << hog_info.l2_hyst_threshold() << <span class="stringliteral">","</span></div><div class="line"><a name="l01833"></a><span class="lineno"> 1833</span>  << <span class="stringliteral">"PhaseType="</span> << hog_info.phase_type() << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l01834"></a><span class="lineno"> 1834</span> </div><div class="line"><a name="l01835"></a><span class="lineno"> 1835</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01836"></a><span class="lineno"> 1836</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>
@@ -20108,10 +21008,10 @@
</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#l01852">1852</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="l01853"></a><span class="lineno"> 1853</span> {</div><div class="line"><a name="l01854"></a><span class="lineno"> 1854</span>  <span class="keywordflow">switch</span>(conv_method)</div><div class="line"><a name="l01855"></a><span class="lineno"> 1855</span>  {</div><div class="line"><a name="l01856"></a><span class="lineno"> 1856</span>  <span class="keywordflow">case</span> ConvolutionMethod::GEMM:</div><div class="line"><a name="l01857"></a><span class="lineno"> 1857</span>  os << <span class="stringliteral">"GEMM"</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> ConvolutionMethod::DIRECT:</div><div class="line"><a name="l01860"></a><span class="lineno"> 1860</span>  os << <span class="stringliteral">"DIRECT"</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> ConvolutionMethod::WINOGRAD:</div><div class="line"><a name="l01863"></a><span class="lineno"> 1863</span>  os << <span class="stringliteral">"WINOGRAD"</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">default</span>:</div><div class="line"><a name="l01866"></a><span class="lineno"> 1866</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="l01867"></a><span class="lineno"> 1867</span>  }</div><div class="line"><a name="l01868"></a><span class="lineno"> 1868</span> </div><div class="line"><a name="l01869"></a><span class="lineno"> 1869</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01870"></a><span class="lineno"> 1870</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#l01858">1858</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="l01859"></a><span class="lineno"> 1859</span> {</div><div class="line"><a name="l01860"></a><span class="lineno"> 1860</span>  <span class="keywordflow">switch</span>(conv_method)</div><div class="line"><a name="l01861"></a><span class="lineno"> 1861</span>  {</div><div class="line"><a name="l01862"></a><span class="lineno"> 1862</span>  <span class="keywordflow">case</span> ConvolutionMethod::GEMM:</div><div class="line"><a name="l01863"></a><span class="lineno"> 1863</span>  os << <span class="stringliteral">"GEMM"</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> ConvolutionMethod::DIRECT:</div><div class="line"><a name="l01866"></a><span class="lineno"> 1866</span>  os << <span class="stringliteral">"DIRECT"</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">case</span> ConvolutionMethod::WINOGRAD:</div><div class="line"><a name="l01869"></a><span class="lineno"> 1869</span>  os << <span class="stringliteral">"WINOGRAD"</span>;</div><div class="line"><a name="l01870"></a><span class="lineno"> 1870</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01871"></a><span class="lineno"> 1871</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01872"></a><span class="lineno"> 1872</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><div class="line"><a name="l01873"></a><span class="lineno"> 1873</span>  }</div><div class="line"><a name="l01874"></a><span class="lineno"> 1874</span> </div><div class="line"><a name="l01875"></a><span class="lineno"> 1875</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01876"></a><span class="lineno"> 1876</span> }</div><div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00352">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>
@@ -20151,10 +21051,10 @@
</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#l01892">1892</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="l01893"></a><span class="lineno"> 1893</span> {</div><div class="line"><a name="l01894"></a><span class="lineno"> 1894</span>  <span class="keywordflow">switch</span>(gpu_target)</div><div class="line"><a name="l01895"></a><span class="lineno"> 1895</span>  {</div><div class="line"><a name="l01896"></a><span class="lineno"> 1896</span>  <span class="keywordflow">case</span> GPUTarget::GPU_ARCH_MASK:</div><div class="line"><a name="l01897"></a><span class="lineno"> 1897</span>  os << <span class="stringliteral">"GPU_ARCH_MASK"</span>;</div><div class="line"><a name="l01898"></a><span class="lineno"> 1898</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01899"></a><span class="lineno"> 1899</span>  <span class="keywordflow">case</span> GPUTarget::MIDGARD:</div><div class="line"><a name="l01900"></a><span class="lineno"> 1900</span>  os << <span class="stringliteral">"MIDGARD"</span>;</div><div class="line"><a name="l01901"></a><span class="lineno"> 1901</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01902"></a><span class="lineno"> 1902</span>  <span class="keywordflow">case</span> GPUTarget::BIFROST:</div><div class="line"><a name="l01903"></a><span class="lineno"> 1903</span>  os << <span class="stringliteral">"BIFROST"</span>;</div><div class="line"><a name="l01904"></a><span class="lineno"> 1904</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01905"></a><span class="lineno"> 1905</span>  <span class="keywordflow">case</span> GPUTarget::VALHALL:</div><div class="line"><a name="l01906"></a><span class="lineno"> 1906</span>  os << <span class="stringliteral">"VALHALL"</span>;</div><div class="line"><a name="l01907"></a><span class="lineno"> 1907</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01908"></a><span class="lineno"> 1908</span>  <span class="keywordflow">case</span> GPUTarget::T600:</div><div class="line"><a name="l01909"></a><span class="lineno"> 1909</span>  os << <span class="stringliteral">"T600"</span>;</div><div class="line"><a name="l01910"></a><span class="lineno"> 1910</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01911"></a><span class="lineno"> 1911</span>  <span class="keywordflow">case</span> GPUTarget::T700:</div><div class="line"><a name="l01912"></a><span class="lineno"> 1912</span>  os << <span class="stringliteral">"T700"</span>;</div><div class="line"><a name="l01913"></a><span class="lineno"> 1913</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01914"></a><span class="lineno"> 1914</span>  <span class="keywordflow">case</span> GPUTarget::T800:</div><div class="line"><a name="l01915"></a><span class="lineno"> 1915</span>  os << <span class="stringliteral">"T800"</span>;</div><div class="line"><a name="l01916"></a><span class="lineno"> 1916</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01917"></a><span class="lineno"> 1917</span>  <span class="keywordflow">case</span> GPUTarget::G71:</div><div class="line"><a name="l01918"></a><span class="lineno"> 1918</span>  os << <span class="stringliteral">"G71"</span>;</div><div class="line"><a name="l01919"></a><span class="lineno"> 1919</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01920"></a><span class="lineno"> 1920</span>  <span class="keywordflow">case</span> GPUTarget::G72:</div><div class="line"><a name="l01921"></a><span class="lineno"> 1921</span>  os << <span class="stringliteral">"G72"</span>;</div><div class="line"><a name="l01922"></a><span class="lineno"> 1922</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01923"></a><span class="lineno"> 1923</span>  <span class="keywordflow">case</span> GPUTarget::G51:</div><div class="line"><a name="l01924"></a><span class="lineno"> 1924</span>  os << <span class="stringliteral">"G51"</span>;</div><div class="line"><a name="l01925"></a><span class="lineno"> 1925</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01926"></a><span class="lineno"> 1926</span>  <span class="keywordflow">case</span> GPUTarget::G51BIG:</div><div class="line"><a name="l01927"></a><span class="lineno"> 1927</span>  os << <span class="stringliteral">"G51BIG"</span>;</div><div class="line"><a name="l01928"></a><span class="lineno"> 1928</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01929"></a><span class="lineno"> 1929</span>  <span class="keywordflow">case</span> GPUTarget::G51LIT:</div><div class="line"><a name="l01930"></a><span class="lineno"> 1930</span>  os << <span class="stringliteral">"G51LIT"</span>;</div><div class="line"><a name="l01931"></a><span class="lineno"> 1931</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01932"></a><span class="lineno"> 1932</span>  <span class="keywordflow">case</span> GPUTarget::G76:</div><div class="line"><a name="l01933"></a><span class="lineno"> 1933</span>  os << <span class="stringliteral">"G76"</span>;</div><div class="line"><a name="l01934"></a><span class="lineno"> 1934</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01935"></a><span class="lineno"> 1935</span>  <span class="keywordflow">case</span> GPUTarget::G77:</div><div class="line"><a name="l01936"></a><span class="lineno"> 1936</span>  os << <span class="stringliteral">"G77"</span>;</div><div class="line"><a name="l01937"></a><span class="lineno"> 1937</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01938"></a><span class="lineno"> 1938</span>  <span class="keywordflow">case</span> GPUTarget::TBOX:</div><div class="line"><a name="l01939"></a><span class="lineno"> 1939</span>  os << <span class="stringliteral">"TBOX"</span>;</div><div class="line"><a name="l01940"></a><span class="lineno"> 1940</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01941"></a><span class="lineno"> 1941</span>  <span class="keywordflow">case</span> GPUTarget::TODX:</div><div class="line"><a name="l01942"></a><span class="lineno"> 1942</span>  os << <span class="stringliteral">"TODX"</span>;</div><div class="line"><a name="l01943"></a><span class="lineno"> 1943</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01944"></a><span class="lineno"> 1944</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01945"></a><span class="lineno"> 1945</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="l01946"></a><span class="lineno"> 1946</span>  }</div><div class="line"><a name="l01947"></a><span class="lineno"> 1947</span> </div><div class="line"><a name="l01948"></a><span class="lineno"> 1948</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01949"></a><span class="lineno"> 1949</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#l01898">1898</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="l01899"></a><span class="lineno"> 1899</span> {</div><div class="line"><a name="l01900"></a><span class="lineno"> 1900</span>  <span class="keywordflow">switch</span>(gpu_target)</div><div class="line"><a name="l01901"></a><span class="lineno"> 1901</span>  {</div><div class="line"><a name="l01902"></a><span class="lineno"> 1902</span>  <span class="keywordflow">case</span> GPUTarget::GPU_ARCH_MASK:</div><div class="line"><a name="l01903"></a><span class="lineno"> 1903</span>  os << <span class="stringliteral">"GPU_ARCH_MASK"</span>;</div><div class="line"><a name="l01904"></a><span class="lineno"> 1904</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01905"></a><span class="lineno"> 1905</span>  <span class="keywordflow">case</span> GPUTarget::MIDGARD:</div><div class="line"><a name="l01906"></a><span class="lineno"> 1906</span>  os << <span class="stringliteral">"MIDGARD"</span>;</div><div class="line"><a name="l01907"></a><span class="lineno"> 1907</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01908"></a><span class="lineno"> 1908</span>  <span class="keywordflow">case</span> GPUTarget::BIFROST:</div><div class="line"><a name="l01909"></a><span class="lineno"> 1909</span>  os << <span class="stringliteral">"BIFROST"</span>;</div><div class="line"><a name="l01910"></a><span class="lineno"> 1910</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01911"></a><span class="lineno"> 1911</span>  <span class="keywordflow">case</span> GPUTarget::VALHALL:</div><div class="line"><a name="l01912"></a><span class="lineno"> 1912</span>  os << <span class="stringliteral">"VALHALL"</span>;</div><div class="line"><a name="l01913"></a><span class="lineno"> 1913</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01914"></a><span class="lineno"> 1914</span>  <span class="keywordflow">case</span> GPUTarget::T600:</div><div class="line"><a name="l01915"></a><span class="lineno"> 1915</span>  os << <span class="stringliteral">"T600"</span>;</div><div class="line"><a name="l01916"></a><span class="lineno"> 1916</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01917"></a><span class="lineno"> 1917</span>  <span class="keywordflow">case</span> GPUTarget::T700:</div><div class="line"><a name="l01918"></a><span class="lineno"> 1918</span>  os << <span class="stringliteral">"T700"</span>;</div><div class="line"><a name="l01919"></a><span class="lineno"> 1919</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01920"></a><span class="lineno"> 1920</span>  <span class="keywordflow">case</span> GPUTarget::T800:</div><div class="line"><a name="l01921"></a><span class="lineno"> 1921</span>  os << <span class="stringliteral">"T800"</span>;</div><div class="line"><a name="l01922"></a><span class="lineno"> 1922</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01923"></a><span class="lineno"> 1923</span>  <span class="keywordflow">case</span> GPUTarget::G71:</div><div class="line"><a name="l01924"></a><span class="lineno"> 1924</span>  os << <span class="stringliteral">"G71"</span>;</div><div class="line"><a name="l01925"></a><span class="lineno"> 1925</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01926"></a><span class="lineno"> 1926</span>  <span class="keywordflow">case</span> GPUTarget::G72:</div><div class="line"><a name="l01927"></a><span class="lineno"> 1927</span>  os << <span class="stringliteral">"G72"</span>;</div><div class="line"><a name="l01928"></a><span class="lineno"> 1928</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01929"></a><span class="lineno"> 1929</span>  <span class="keywordflow">case</span> GPUTarget::G51:</div><div class="line"><a name="l01930"></a><span class="lineno"> 1930</span>  os << <span class="stringliteral">"G51"</span>;</div><div class="line"><a name="l01931"></a><span class="lineno"> 1931</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01932"></a><span class="lineno"> 1932</span>  <span class="keywordflow">case</span> GPUTarget::G51BIG:</div><div class="line"><a name="l01933"></a><span class="lineno"> 1933</span>  os << <span class="stringliteral">"G51BIG"</span>;</div><div class="line"><a name="l01934"></a><span class="lineno"> 1934</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01935"></a><span class="lineno"> 1935</span>  <span class="keywordflow">case</span> GPUTarget::G51LIT:</div><div class="line"><a name="l01936"></a><span class="lineno"> 1936</span>  os << <span class="stringliteral">"G51LIT"</span>;</div><div class="line"><a name="l01937"></a><span class="lineno"> 1937</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01938"></a><span class="lineno"> 1938</span>  <span class="keywordflow">case</span> GPUTarget::G76:</div><div class="line"><a name="l01939"></a><span class="lineno"> 1939</span>  os << <span class="stringliteral">"G76"</span>;</div><div class="line"><a name="l01940"></a><span class="lineno"> 1940</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01941"></a><span class="lineno"> 1941</span>  <span class="keywordflow">case</span> GPUTarget::G77:</div><div class="line"><a name="l01942"></a><span class="lineno"> 1942</span>  os << <span class="stringliteral">"G77"</span>;</div><div class="line"><a name="l01943"></a><span class="lineno"> 1943</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01944"></a><span class="lineno"> 1944</span>  <span class="keywordflow">case</span> GPUTarget::TBOX:</div><div class="line"><a name="l01945"></a><span class="lineno"> 1945</span>  os << <span class="stringliteral">"TBOX"</span>;</div><div class="line"><a name="l01946"></a><span class="lineno"> 1946</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01947"></a><span class="lineno"> 1947</span>  <span class="keywordflow">case</span> GPUTarget::TODX:</div><div class="line"><a name="l01948"></a><span class="lineno"> 1948</span>  os << <span class="stringliteral">"TODX"</span>;</div><div class="line"><a name="l01949"></a><span class="lineno"> 1949</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01950"></a><span class="lineno"> 1950</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l01951"></a><span class="lineno"> 1951</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><div class="line"><a name="l01952"></a><span class="lineno"> 1952</span>  }</div><div class="line"><a name="l01953"></a><span class="lineno"> 1953</span> </div><div class="line"><a name="l01954"></a><span class="lineno"> 1954</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01955"></a><span class="lineno"> 1955</span> }</div><div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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#a735ac6c2a02e320969625308810444f3a8e081b1cdec7bc064a67f31560ef7fe0">G77</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>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a6903f06b87f56a4cd0df268ee94dbd6f">TODX</a>, and <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a35213429e39ad02be7c3c44fc87cde57">VALHALL</a>.</p>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00352">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#a735ac6c2a02e320969625308810444f3a8e081b1cdec7bc064a67f31560ef7fe0">G77</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>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a6903f06b87f56a4cd0df268ee94dbd6f">TODX</a>, and <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a35213429e39ad02be7c3c44fc87cde57">VALHALL</a>.</p>
</div>
</div>
@@ -20194,15 +21094,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#l01971">1971</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="l01972"></a><span class="lineno"> 1972</span> {</div><div class="line"><a name="l01973"></a><span class="lineno"> 1973</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="l01974"></a><span class="lineno"> 1974</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="l01975"></a><span class="lineno"> 1975</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="l01976"></a><span class="lineno"> 1976</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="l01977"></a><span class="lineno"> 1977</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="l01978"></a><span class="lineno"> 1978</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="l01979"></a><span class="lineno"> 1979</span> </div><div class="line"><a name="l01980"></a><span class="lineno"> 1980</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01981"></a><span class="lineno"> 1981</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>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01977">1977</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="l01978"></a><span class="lineno"> 1978</span> {</div><div class="line"><a name="l01979"></a><span class="lineno"> 1979</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="l01980"></a><span class="lineno"> 1980</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="l01981"></a><span class="lineno"> 1981</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="l01982"></a><span class="lineno"> 1982</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="l01983"></a><span class="lineno"> 1983</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="l01984"></a><span class="lineno"> 1984</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="l01985"></a><span class="lineno"> 1985</span> </div><div class="line"><a name="l01986"></a><span class="lineno"> 1986</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01987"></a><span class="lineno"> 1987</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#l00549">DetectionWindow::height</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00550">DetectionWindow::idx_class</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00551">DetectionWindow::score</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00548">DetectionWindow::width</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00546">DetectionWindow::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00547">DetectionWindow::y</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>
</div>
@@ -20242,10 +21142,10 @@
</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#l01990">1990</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="l01991"></a><span class="lineno"> 1991</span> {</div><div class="line"><a name="l01992"></a><span class="lineno"> 1992</span>  <span class="keywordflow">switch</span>(detection_code)</div><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>  <span class="keywordflow">case</span> DetectionOutputLayerCodeType::CENTER_SIZE:</div><div class="line"><a name="l01995"></a><span class="lineno"> 1995</span>  os << <span class="stringliteral">"CENTER_SIZE"</span>;</div><div class="line"><a name="l01996"></a><span class="lineno"> 1996</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l01997"></a><span class="lineno"> 1997</span>  <span class="keywordflow">case</span> DetectionOutputLayerCodeType::CORNER:</div><div class="line"><a name="l01998"></a><span class="lineno"> 1998</span>  os << <span class="stringliteral">"CORNER"</span>;</div><div class="line"><a name="l01999"></a><span class="lineno"> 1999</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l02000"></a><span class="lineno"> 2000</span>  <span class="keywordflow">case</span> DetectionOutputLayerCodeType::CORNER_SIZE:</div><div class="line"><a name="l02001"></a><span class="lineno"> 2001</span>  os << <span class="stringliteral">"CORNER_SIZE"</span>;</div><div class="line"><a name="l02002"></a><span class="lineno"> 2002</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l02003"></a><span class="lineno"> 2003</span>  <span class="keywordflow">case</span> DetectionOutputLayerCodeType::TF_CENTER:</div><div class="line"><a name="l02004"></a><span class="lineno"> 2004</span>  os << <span class="stringliteral">"TF_CENTER"</span>;</div><div class="line"><a name="l02005"></a><span class="lineno"> 2005</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l02006"></a><span class="lineno"> 2006</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l02007"></a><span class="lineno"> 2007</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="l02008"></a><span class="lineno"> 2008</span>  }</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">return</span> os;</div><div class="line"><a name="l02011"></a><span class="lineno"> 2011</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#l01996">1996</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="l01997"></a><span class="lineno"> 1997</span> {</div><div class="line"><a name="l01998"></a><span class="lineno"> 1998</span>  <span class="keywordflow">switch</span>(detection_code)</div><div class="line"><a name="l01999"></a><span class="lineno"> 1999</span>  {</div><div class="line"><a name="l02000"></a><span class="lineno"> 2000</span>  <span class="keywordflow">case</span> DetectionOutputLayerCodeType::CENTER_SIZE:</div><div class="line"><a name="l02001"></a><span class="lineno"> 2001</span>  os << <span class="stringliteral">"CENTER_SIZE"</span>;</div><div class="line"><a name="l02002"></a><span class="lineno"> 2002</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l02003"></a><span class="lineno"> 2003</span>  <span class="keywordflow">case</span> DetectionOutputLayerCodeType::CORNER:</div><div class="line"><a name="l02004"></a><span class="lineno"> 2004</span>  os << <span class="stringliteral">"CORNER"</span>;</div><div class="line"><a name="l02005"></a><span class="lineno"> 2005</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l02006"></a><span class="lineno"> 2006</span>  <span class="keywordflow">case</span> DetectionOutputLayerCodeType::CORNER_SIZE:</div><div class="line"><a name="l02007"></a><span class="lineno"> 2007</span>  os << <span class="stringliteral">"CORNER_SIZE"</span>;</div><div class="line"><a name="l02008"></a><span class="lineno"> 2008</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l02009"></a><span class="lineno"> 2009</span>  <span class="keywordflow">case</span> DetectionOutputLayerCodeType::TF_CENTER:</div><div class="line"><a name="l02010"></a><span class="lineno"> 2010</span>  os << <span class="stringliteral">"TF_CENTER"</span>;</div><div class="line"><a name="l02011"></a><span class="lineno"> 2011</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l02012"></a><span class="lineno"> 2012</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l02013"></a><span class="lineno"> 2013</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><div class="line"><a name="l02014"></a><span class="lineno"> 2014</span>  }</div><div class="line"><a name="l02015"></a><span class="lineno"> 2015</span> </div><div class="line"><a name="l02016"></a><span class="lineno"> 2016</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l02017"></a><span class="lineno"> 2017</span> }</div><div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00352">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>
@@ -20285,9 +21185,9 @@
</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#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>  os << <span class="stringliteral">"{Classes="</span> << detection_info.num_classes() << <span class="stringliteral">","</span></div><div class="line"><a name="l02035"></a><span class="lineno"> 2035</span>  << <span class="stringliteral">"ShareLocation="</span> << detection_info.share_location() << <span class="stringliteral">","</span></div><div class="line"><a name="l02036"></a><span class="lineno"> 2036</span>  << <span class="stringliteral">"CodeType="</span> << detection_info.code_type() << <span class="stringliteral">","</span></div><div class="line"><a name="l02037"></a><span class="lineno"> 2037</span>  << <span class="stringliteral">"VarianceEncodedInTarget="</span> << detection_info.variance_encoded_in_target() << <span class="stringliteral">","</span></div><div class="line"><a name="l02038"></a><span class="lineno"> 2038</span>  << <span class="stringliteral">"KeepTopK="</span> << detection_info.keep_top_k() << <span class="stringliteral">","</span></div><div class="line"><a name="l02039"></a><span class="lineno"> 2039</span>  << <span class="stringliteral">"NMSThreshold="</span> << detection_info.nms_threshold() << <span class="stringliteral">","</span></div><div class="line"><a name="l02040"></a><span class="lineno"> 2040</span>  << <span class="stringliteral">"Eta="</span> << detection_info.eta() << <span class="stringliteral">","</span></div><div class="line"><a name="l02041"></a><span class="lineno"> 2041</span>  << <span class="stringliteral">"BackgroundLabelId="</span> << detection_info.background_label_id() << <span class="stringliteral">","</span></div><div class="line"><a name="l02042"></a><span class="lineno"> 2042</span>  << <span class="stringliteral">"ConfidenceThreshold="</span> << detection_info.confidence_threshold() << <span class="stringliteral">","</span></div><div class="line"><a name="l02043"></a><span class="lineno"> 2043</span>  << <span class="stringliteral">"TopK="</span> << detection_info.top_k() << <span class="stringliteral">","</span></div><div class="line"><a name="l02044"></a><span class="lineno"> 2044</span>  << <span class="stringliteral">"NumLocClasses="</span> << detection_info.num_loc_classes()</div><div class="line"><a name="l02045"></a><span class="lineno"> 2045</span>  << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l02046"></a><span class="lineno"> 2046</span> </div><div class="line"><a name="l02047"></a><span class="lineno"> 2047</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l02048"></a><span class="lineno"> 2048</span> }</div></div><!-- fragment -->
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01046">DetectionOutputLayerInfo::background_label_id()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01021">DetectionOutputLayerInfo::code_type()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01051">DetectionOutputLayerInfo::confidence_threshold()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01041">DetectionOutputLayerInfo::eta()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01031">DetectionOutputLayerInfo::keep_top_k()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01036">DetectionOutputLayerInfo::nms_threshold()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01011">DetectionOutputLayerInfo::num_classes()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01061">DetectionOutputLayerInfo::num_loc_classes()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01016">DetectionOutputLayerInfo::share_location()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01056">DetectionOutputLayerInfo::top_k()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01026">DetectionOutputLayerInfo::variance_encoded_in_target()</a>.</p>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l02038">2038</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="l02039"></a><span class="lineno"> 2039</span> {</div><div class="line"><a name="l02040"></a><span class="lineno"> 2040</span>  os << <span class="stringliteral">"{Classes="</span> << detection_info.num_classes() << <span class="stringliteral">","</span></div><div class="line"><a name="l02041"></a><span class="lineno"> 2041</span>  << <span class="stringliteral">"ShareLocation="</span> << detection_info.share_location() << <span class="stringliteral">","</span></div><div class="line"><a name="l02042"></a><span class="lineno"> 2042</span>  << <span class="stringliteral">"CodeType="</span> << detection_info.code_type() << <span class="stringliteral">","</span></div><div class="line"><a name="l02043"></a><span class="lineno"> 2043</span>  << <span class="stringliteral">"VarianceEncodedInTarget="</span> << detection_info.variance_encoded_in_target() << <span class="stringliteral">","</span></div><div class="line"><a name="l02044"></a><span class="lineno"> 2044</span>  << <span class="stringliteral">"KeepTopK="</span> << detection_info.keep_top_k() << <span class="stringliteral">","</span></div><div class="line"><a name="l02045"></a><span class="lineno"> 2045</span>  << <span class="stringliteral">"NMSThreshold="</span> << detection_info.nms_threshold() << <span class="stringliteral">","</span></div><div class="line"><a name="l02046"></a><span class="lineno"> 2046</span>  << <span class="stringliteral">"Eta="</span> << detection_info.eta() << <span class="stringliteral">","</span></div><div class="line"><a name="l02047"></a><span class="lineno"> 2047</span>  << <span class="stringliteral">"BackgroundLabelId="</span> << detection_info.background_label_id() << <span class="stringliteral">","</span></div><div class="line"><a name="l02048"></a><span class="lineno"> 2048</span>  << <span class="stringliteral">"ConfidenceThreshold="</span> << detection_info.confidence_threshold() << <span class="stringliteral">","</span></div><div class="line"><a name="l02049"></a><span class="lineno"> 2049</span>  << <span class="stringliteral">"TopK="</span> << detection_info.top_k() << <span class="stringliteral">","</span></div><div class="line"><a name="l02050"></a><span class="lineno"> 2050</span>  << <span class="stringliteral">"NumLocClasses="</span> << detection_info.num_loc_classes()</div><div class="line"><a name="l02051"></a><span class="lineno"> 2051</span>  << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l02052"></a><span class="lineno"> 2052</span> </div><div class="line"><a name="l02053"></a><span class="lineno"> 2053</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l02054"></a><span class="lineno"> 2054</span> }</div></div><!-- fragment -->
+<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01056">DetectionOutputLayerInfo::background_label_id()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01031">DetectionOutputLayerInfo::code_type()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01061">DetectionOutputLayerInfo::confidence_threshold()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01051">DetectionOutputLayerInfo::eta()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01041">DetectionOutputLayerInfo::keep_top_k()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01046">DetectionOutputLayerInfo::nms_threshold()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01021">DetectionOutputLayerInfo::num_classes()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01071">DetectionOutputLayerInfo::num_loc_classes()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01026">DetectionOutputLayerInfo::share_location()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01066">DetectionOutputLayerInfo::top_k()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01036">DetectionOutputLayerInfo::variance_encoded_in_target()</a>.</p>
</div>
</div>
@@ -20327,9 +21227,9 @@
</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#l02069">2069</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="l02070"></a><span class="lineno"> 2070</span> {</div><div class="line"><a name="l02071"></a><span class="lineno"> 2071</span>  os << <span class="stringliteral">"{MaxDetections="</span> << detection_info.max_detections() << <span class="stringliteral">","</span></div><div class="line"><a name="l02072"></a><span class="lineno"> 2072</span>  << <span class="stringliteral">"MaxClassesPerDetection="</span> << detection_info.max_classes_per_detection() << <span class="stringliteral">","</span></div><div class="line"><a name="l02073"></a><span class="lineno"> 2073</span>  << <span class="stringliteral">"NmsScoreThreshold="</span> << detection_info.nms_score_threshold() << <span class="stringliteral">","</span></div><div class="line"><a name="l02074"></a><span class="lineno"> 2074</span>  << <span class="stringliteral">"NmsIouThreshold="</span> << detection_info.iou_threshold() << <span class="stringliteral">","</span></div><div class="line"><a name="l02075"></a><span class="lineno"> 2075</span>  << <span class="stringliteral">"NumClasses="</span> << detection_info.num_classes() << <span class="stringliteral">","</span></div><div class="line"><a name="l02076"></a><span class="lineno"> 2076</span>  << <span class="stringliteral">"ScaleValue_y="</span> << detection_info.scale_value_y() << <span class="stringliteral">","</span></div><div class="line"><a name="l02077"></a><span class="lineno"> 2077</span>  << <span class="stringliteral">"ScaleValue_x="</span> << detection_info.scale_value_x() << <span class="stringliteral">","</span></div><div class="line"><a name="l02078"></a><span class="lineno"> 2078</span>  << <span class="stringliteral">"ScaleValue_h="</span> << detection_info.scale_value_h() << <span class="stringliteral">","</span></div><div class="line"><a name="l02079"></a><span class="lineno"> 2079</span>  << <span class="stringliteral">"ScaleValue_w="</span> << detection_info.scale_value_w() << <span class="stringliteral">","</span></div><div class="line"><a name="l02080"></a><span class="lineno"> 2080</span>  << <span class="stringliteral">"UseRegularNms="</span> << detection_info.use_regular_nms() << <span class="stringliteral">","</span></div><div class="line"><a name="l02081"></a><span class="lineno"> 2081</span>  << <span class="stringliteral">"DetectionPerClass="</span> << detection_info.detection_per_class()</div><div class="line"><a name="l02082"></a><span class="lineno"> 2082</span>  << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l02083"></a><span class="lineno"> 2083</span> </div><div class="line"><a name="l02084"></a><span class="lineno"> 2084</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l02085"></a><span class="lineno"> 2085</span> }</div></div><!-- fragment -->
-<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01130">DetectionPostProcessLayerInfo::detection_per_class()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01140">DetectionPostProcessLayerInfo::iou_threshold()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01125">DetectionPostProcessLayerInfo::max_classes_per_detection()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01120">DetectionPostProcessLayerInfo::max_detections()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01135">DetectionPostProcessLayerInfo::nms_score_threshold()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01145">DetectionPostProcessLayerInfo::num_classes()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01167">DetectionPostProcessLayerInfo::scale_value_h()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01173">DetectionPostProcessLayerInfo::scale_value_w()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01161">DetectionPostProcessLayerInfo::scale_value_x()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01155">DetectionPostProcessLayerInfo::scale_value_y()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01150">DetectionPostProcessLayerInfo::use_regular_nms()</a>.</p>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l02075">2075</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="l02076"></a><span class="lineno"> 2076</span> {</div><div class="line"><a name="l02077"></a><span class="lineno"> 2077</span>  os << <span class="stringliteral">"{MaxDetections="</span> << detection_info.max_detections() << <span class="stringliteral">","</span></div><div class="line"><a name="l02078"></a><span class="lineno"> 2078</span>  << <span class="stringliteral">"MaxClassesPerDetection="</span> << detection_info.max_classes_per_detection() << <span class="stringliteral">","</span></div><div class="line"><a name="l02079"></a><span class="lineno"> 2079</span>  << <span class="stringliteral">"NmsScoreThreshold="</span> << detection_info.nms_score_threshold() << <span class="stringliteral">","</span></div><div class="line"><a name="l02080"></a><span class="lineno"> 2080</span>  << <span class="stringliteral">"NmsIouThreshold="</span> << detection_info.iou_threshold() << <span class="stringliteral">","</span></div><div class="line"><a name="l02081"></a><span class="lineno"> 2081</span>  << <span class="stringliteral">"NumClasses="</span> << detection_info.num_classes() << <span class="stringliteral">","</span></div><div class="line"><a name="l02082"></a><span class="lineno"> 2082</span>  << <span class="stringliteral">"ScaleValue_y="</span> << detection_info.scale_value_y() << <span class="stringliteral">","</span></div><div class="line"><a name="l02083"></a><span class="lineno"> 2083</span>  << <span class="stringliteral">"ScaleValue_x="</span> << detection_info.scale_value_x() << <span class="stringliteral">","</span></div><div class="line"><a name="l02084"></a><span class="lineno"> 2084</span>  << <span class="stringliteral">"ScaleValue_h="</span> << detection_info.scale_value_h() << <span class="stringliteral">","</span></div><div class="line"><a name="l02085"></a><span class="lineno"> 2085</span>  << <span class="stringliteral">"ScaleValue_w="</span> << detection_info.scale_value_w() << <span class="stringliteral">","</span></div><div class="line"><a name="l02086"></a><span class="lineno"> 2086</span>  << <span class="stringliteral">"UseRegularNms="</span> << detection_info.use_regular_nms() << <span class="stringliteral">","</span></div><div class="line"><a name="l02087"></a><span class="lineno"> 2087</span>  << <span class="stringliteral">"DetectionPerClass="</span> << detection_info.detection_per_class()</div><div class="line"><a name="l02088"></a><span class="lineno"> 2088</span>  << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l02089"></a><span class="lineno"> 2089</span> </div><div class="line"><a name="l02090"></a><span class="lineno"> 2090</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l02091"></a><span class="lineno"> 2091</span> }</div></div><!-- fragment -->
+<p class="reference">References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01143">DetectionPostProcessLayerInfo::detection_per_class()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01153">DetectionPostProcessLayerInfo::iou_threshold()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01138">DetectionPostProcessLayerInfo::max_classes_per_detection()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01133">DetectionPostProcessLayerInfo::max_detections()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01148">DetectionPostProcessLayerInfo::nms_score_threshold()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01158">DetectionPostProcessLayerInfo::num_classes()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01180">DetectionPostProcessLayerInfo::scale_value_h()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01186">DetectionPostProcessLayerInfo::scale_value_w()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01174">DetectionPostProcessLayerInfo::scale_value_x()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01168">DetectionPostProcessLayerInfo::scale_value_y()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01163">DetectionPostProcessLayerInfo::use_regular_nms()</a>.</p>
</div>
</div>
@@ -20369,10 +21269,10 @@
</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#l02119">2119</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="l02120"></a><span class="lineno"> 2120</span> {</div><div class="line"><a name="l02121"></a><span class="lineno"> 2121</span>  <span class="keywordflow">switch</span>(termination)</div><div class="line"><a name="l02122"></a><span class="lineno"> 2122</span>  {</div><div class="line"><a name="l02123"></a><span class="lineno"> 2123</span>  <span class="keywordflow">case</span> Termination::TERM_CRITERIA_EPSILON:</div><div class="line"><a name="l02124"></a><span class="lineno"> 2124</span>  os << <span class="stringliteral">"TERM_CRITERIA_EPSILON"</span>;</div><div class="line"><a name="l02125"></a><span class="lineno"> 2125</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l02126"></a><span class="lineno"> 2126</span>  <span class="keywordflow">case</span> Termination::TERM_CRITERIA_ITERATIONS:</div><div class="line"><a name="l02127"></a><span class="lineno"> 2127</span>  os << <span class="stringliteral">"TERM_CRITERIA_ITERATIONS"</span>;</div><div class="line"><a name="l02128"></a><span class="lineno"> 2128</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l02129"></a><span class="lineno"> 2129</span>  <span class="keywordflow">case</span> Termination::TERM_CRITERIA_BOTH:</div><div class="line"><a name="l02130"></a><span class="lineno"> 2130</span>  os << <span class="stringliteral">"TERM_CRITERIA_BOTH"</span>;</div><div class="line"><a name="l02131"></a><span class="lineno"> 2131</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l02132"></a><span class="lineno"> 2132</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l02133"></a><span class="lineno"> 2133</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="l02134"></a><span class="lineno"> 2134</span>  }</div><div class="line"><a name="l02135"></a><span class="lineno"> 2135</span> </div><div class="line"><a name="l02136"></a><span class="lineno"> 2136</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l02137"></a><span class="lineno"> 2137</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#l02125">2125</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="l02126"></a><span class="lineno"> 2126</span> {</div><div class="line"><a name="l02127"></a><span class="lineno"> 2127</span>  <span class="keywordflow">switch</span>(termination)</div><div class="line"><a name="l02128"></a><span class="lineno"> 2128</span>  {</div><div class="line"><a name="l02129"></a><span class="lineno"> 2129</span>  <span class="keywordflow">case</span> Termination::TERM_CRITERIA_EPSILON:</div><div class="line"><a name="l02130"></a><span class="lineno"> 2130</span>  os << <span class="stringliteral">"TERM_CRITERIA_EPSILON"</span>;</div><div class="line"><a name="l02131"></a><span class="lineno"> 2131</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l02132"></a><span class="lineno"> 2132</span>  <span class="keywordflow">case</span> Termination::TERM_CRITERIA_ITERATIONS:</div><div class="line"><a name="l02133"></a><span class="lineno"> 2133</span>  os << <span class="stringliteral">"TERM_CRITERIA_ITERATIONS"</span>;</div><div class="line"><a name="l02134"></a><span class="lineno"> 2134</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l02135"></a><span class="lineno"> 2135</span>  <span class="keywordflow">case</span> Termination::TERM_CRITERIA_BOTH:</div><div class="line"><a name="l02136"></a><span class="lineno"> 2136</span>  os << <span class="stringliteral">"TERM_CRITERIA_BOTH"</span>;</div><div class="line"><a name="l02137"></a><span class="lineno"> 2137</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l02138"></a><span class="lineno"> 2138</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l02139"></a><span class="lineno"> 2139</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><div class="line"><a name="l02140"></a><span class="lineno"> 2140</span>  }</div><div class="line"><a name="l02141"></a><span class="lineno"> 2141</span> </div><div class="line"><a name="l02142"></a><span class="lineno"> 2142</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l02143"></a><span class="lineno"> 2143</span> }</div><div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00352">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>
@@ -20412,10 +21312,10 @@
</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#l02159">2159</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="l02160"></a><span class="lineno"> 2160</span> {</div><div class="line"><a name="l02161"></a><span class="lineno"> 2161</span>  <span class="keywordflow">switch</span>(cpu_model)</div><div class="line"><a name="l02162"></a><span class="lineno"> 2162</span>  {</div><div class="line"><a name="l02163"></a><span class="lineno"> 2163</span>  <span class="keywordflow">case</span> CPUModel::GENERIC:</div><div class="line"><a name="l02164"></a><span class="lineno"> 2164</span>  os << <span class="stringliteral">"GENERIC"</span>;</div><div class="line"><a name="l02165"></a><span class="lineno"> 2165</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l02166"></a><span class="lineno"> 2166</span>  <span class="keywordflow">case</span> CPUModel::GENERIC_FP16:</div><div class="line"><a name="l02167"></a><span class="lineno"> 2167</span>  os << <span class="stringliteral">"GENERIC_FP16"</span>;</div><div class="line"><a name="l02168"></a><span class="lineno"> 2168</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l02169"></a><span class="lineno"> 2169</span>  <span class="keywordflow">case</span> CPUModel::GENERIC_FP16_DOT:</div><div class="line"><a name="l02170"></a><span class="lineno"> 2170</span>  os << <span class="stringliteral">"GENERIC_FP16_DOT"</span>;</div><div class="line"><a name="l02171"></a><span class="lineno"> 2171</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l02172"></a><span class="lineno"> 2172</span>  <span class="keywordflow">case</span> CPUModel::A53:</div><div class="line"><a name="l02173"></a><span class="lineno"> 2173</span>  os << <span class="stringliteral">"A53"</span>;</div><div class="line"><a name="l02174"></a><span class="lineno"> 2174</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l02175"></a><span class="lineno"> 2175</span>  <span class="keywordflow">case</span> CPUModel::A55r0:</div><div class="line"><a name="l02176"></a><span class="lineno"> 2176</span>  os << <span class="stringliteral">"A55r0"</span>;</div><div class="line"><a name="l02177"></a><span class="lineno"> 2177</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l02178"></a><span class="lineno"> 2178</span>  <span class="keywordflow">case</span> CPUModel::A55r1:</div><div class="line"><a name="l02179"></a><span class="lineno"> 2179</span>  os << <span class="stringliteral">"A55r1"</span>;</div><div class="line"><a name="l02180"></a><span class="lineno"> 2180</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l02181"></a><span class="lineno"> 2181</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l02182"></a><span class="lineno"> 2182</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="l02183"></a><span class="lineno"> 2183</span>  }</div><div class="line"><a name="l02184"></a><span class="lineno"> 2184</span> </div><div class="line"><a name="l02185"></a><span class="lineno"> 2185</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l02186"></a><span class="lineno"> 2186</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#l02165">2165</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="l02166"></a><span class="lineno"> 2166</span> {</div><div class="line"><a name="l02167"></a><span class="lineno"> 2167</span>  <span class="keywordflow">switch</span>(cpu_model)</div><div class="line"><a name="l02168"></a><span class="lineno"> 2168</span>  {</div><div class="line"><a name="l02169"></a><span class="lineno"> 2169</span>  <span class="keywordflow">case</span> CPUModel::GENERIC:</div><div class="line"><a name="l02170"></a><span class="lineno"> 2170</span>  os << <span class="stringliteral">"GENERIC"</span>;</div><div class="line"><a name="l02171"></a><span class="lineno"> 2171</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l02172"></a><span class="lineno"> 2172</span>  <span class="keywordflow">case</span> CPUModel::GENERIC_FP16:</div><div class="line"><a name="l02173"></a><span class="lineno"> 2173</span>  os << <span class="stringliteral">"GENERIC_FP16"</span>;</div><div class="line"><a name="l02174"></a><span class="lineno"> 2174</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l02175"></a><span class="lineno"> 2175</span>  <span class="keywordflow">case</span> CPUModel::GENERIC_FP16_DOT:</div><div class="line"><a name="l02176"></a><span class="lineno"> 2176</span>  os << <span class="stringliteral">"GENERIC_FP16_DOT"</span>;</div><div class="line"><a name="l02177"></a><span class="lineno"> 2177</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l02178"></a><span class="lineno"> 2178</span>  <span class="keywordflow">case</span> CPUModel::A53:</div><div class="line"><a name="l02179"></a><span class="lineno"> 2179</span>  os << <span class="stringliteral">"A53"</span>;</div><div class="line"><a name="l02180"></a><span class="lineno"> 2180</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l02181"></a><span class="lineno"> 2181</span>  <span class="keywordflow">case</span> CPUModel::A55r0:</div><div class="line"><a name="l02182"></a><span class="lineno"> 2182</span>  os << <span class="stringliteral">"A55r0"</span>;</div><div class="line"><a name="l02183"></a><span class="lineno"> 2183</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l02184"></a><span class="lineno"> 2184</span>  <span class="keywordflow">case</span> CPUModel::A55r1:</div><div class="line"><a name="l02185"></a><span class="lineno"> 2185</span>  os << <span class="stringliteral">"A55r1"</span>;</div><div class="line"><a name="l02186"></a><span class="lineno"> 2186</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l02187"></a><span class="lineno"> 2187</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l02188"></a><span class="lineno"> 2188</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><div class="line"><a name="l02189"></a><span class="lineno"> 2189</span>  }</div><div class="line"><a name="l02190"></a><span class="lineno"> 2190</span> </div><div class="line"><a name="l02191"></a><span class="lineno"> 2191</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l02192"></a><span class="lineno"> 2192</span> }</div><div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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">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#l00352">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>
@@ -20455,8 +21355,11 @@
</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#l02208">2208</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="l02209"></a><span class="lineno"> 2209</span> {</div><div class="line"><a name="l02210"></a><span class="lineno"> 2210</span>  os << <span class="stringliteral">"["</span>;</div><div class="line"><a name="l02211"></a><span class="lineno"> 2211</span>  <span class="keywordtype">bool</span> first = <span class="keyword">true</span>;</div><div class="line"><a name="l02212"></a><span class="lineno"> 2212</span>  <span class="keywordflow">for</span>(<span class="keyword">auto</span> &arg : args)</div><div class="line"><a name="l02213"></a><span class="lineno"> 2213</span>  {</div><div class="line"><a name="l02214"></a><span class="lineno"> 2214</span>  <span class="keywordflow">if</span>(first)</div><div class="line"><a name="l02215"></a><span class="lineno"> 2215</span>  {</div><div class="line"><a name="l02216"></a><span class="lineno"> 2216</span>  first = <span class="keyword">false</span>;</div><div class="line"><a name="l02217"></a><span class="lineno"> 2217</span>  }</div><div class="line"><a name="l02218"></a><span class="lineno"> 2218</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l02219"></a><span class="lineno"> 2219</span>  {</div><div class="line"><a name="l02220"></a><span class="lineno"> 2220</span>  os << <span class="stringliteral">", "</span>;</div><div class="line"><a name="l02221"></a><span class="lineno"> 2221</span>  }</div><div class="line"><a name="l02222"></a><span class="lineno"> 2222</span>  os << arg;</div><div class="line"><a name="l02223"></a><span class="lineno"> 2223</span>  }</div><div class="line"><a name="l02224"></a><span class="lineno"> 2224</span>  os << <span class="stringliteral">"]"</span>;</div><div class="line"><a name="l02225"></a><span class="lineno"> 2225</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l02226"></a><span class="lineno"> 2226</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l02214">2214</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="l02215"></a><span class="lineno"> 2215</span> {</div><div class="line"><a name="l02216"></a><span class="lineno"> 2216</span>  os << <span class="stringliteral">"["</span>;</div><div class="line"><a name="l02217"></a><span class="lineno"> 2217</span>  <span class="keywordtype">bool</span> first = <span class="keyword">true</span>;</div><div class="line"><a name="l02218"></a><span class="lineno"> 2218</span>  <span class="keywordflow">for</span>(<span class="keyword">auto</span> &arg : <a class="code" href="namespace_gemm_tuner.xhtml#a8187411843a6284ffb964ef3fb9fcab3">args</a>)</div><div class="line"><a name="l02219"></a><span class="lineno"> 2219</span>  {</div><div class="line"><a name="l02220"></a><span class="lineno"> 2220</span>  <span class="keywordflow">if</span>(first)</div><div class="line"><a name="l02221"></a><span class="lineno"> 2221</span>  {</div><div class="line"><a name="l02222"></a><span class="lineno"> 2222</span>  first = <span class="keyword">false</span>;</div><div class="line"><a name="l02223"></a><span class="lineno"> 2223</span>  }</div><div class="line"><a name="l02224"></a><span class="lineno"> 2224</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l02225"></a><span class="lineno"> 2225</span>  {</div><div class="line"><a name="l02226"></a><span class="lineno"> 2226</span>  os << <span class="stringliteral">", "</span>;</div><div class="line"><a name="l02227"></a><span class="lineno"> 2227</span>  }</div><div class="line"><a name="l02228"></a><span class="lineno"> 2228</span>  os << arg;</div><div class="line"><a name="l02229"></a><span class="lineno"> 2229</span>  }</div><div class="line"><a name="l02230"></a><span class="lineno"> 2230</span>  os << <span class="stringliteral">"]"</span>;</div><div class="line"><a name="l02231"></a><span class="lineno"> 2231</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l02232"></a><span class="lineno"> 2232</span> }</div><div class="ttc" id="namespace_gemm_tuner_xhtml_a8187411843a6284ffb964ef3fb9fcab3"><div class="ttname"><a href="namespace_gemm_tuner.xhtml#a8187411843a6284ffb964ef3fb9fcab3">GemmTuner.args</a></div><div class="ttdeci">args</div><div class="ttdef"><b>Definition:</b> <a href="_gemm_tuner_8py_source.xhtml#l00555">GemmTuner.py:555</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_gemm_tuner_8py_source.xhtml#l00555">GemmTuner::args</a>.</p>
+
</div>
</div>
<a id="ae7393414bb7b814bf70e0399f2347847"></a>
@@ -20495,8 +21398,8 @@
</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#l02235">2235</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="l02236"></a><span class="lineno"> 2236</span> {</div><div class="line"><a name="l02237"></a><span class="lineno"> 2237</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="l02238"></a><span class="lineno"> 2238</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="l02239"></a><span class="lineno"> 2239</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="l02240"></a><span class="lineno"> 2240</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="l02241"></a><span class="lineno"> 2241</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="l02242"></a><span class="lineno"> 2242</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="l02243"></a><span class="lineno"> 2243</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="l02244"></a><span class="lineno"> 2244</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="l02245"></a><span class="lineno"> 2245</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="l02246"></a><span class="lineno"> 2246</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="l02247"></a><span class="lineno"> 2247</span> </div><div class="line"><a name="l02248"></a><span class="lineno"> 2248</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l02249"></a><span class="lineno"> 2249</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>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l02241">2241</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="l02242"></a><span class="lineno"> 2242</span> {</div><div class="line"><a name="l02243"></a><span class="lineno"> 2243</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="l02244"></a><span class="lineno"> 2244</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="l02245"></a><span class="lineno"> 2245</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="l02246"></a><span class="lineno"> 2246</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="l02247"></a><span class="lineno"> 2247</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="l02248"></a><span class="lineno"> 2248</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="l02249"></a><span class="lineno"> 2249</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="l02250"></a><span class="lineno"> 2250</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="l02251"></a><span class="lineno"> 2251</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="l02252"></a><span class="lineno"> 2252</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="l02253"></a><span class="lineno"> 2253</span> </div><div class="line"><a name="l02254"></a><span class="lineno"> 2254</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l02255"></a><span class="lineno"> 2255</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>
@@ -20530,8 +21433,8 @@
<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#l02266">2266</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="l02267"></a><span class="lineno"> 2267</span> {</div><div class="line"><a name="l02268"></a><span class="lineno"> 2268</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="l02269"></a><span class="lineno"> 2269</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="l02270"></a><span class="lineno"> 2270</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="l02271"></a><span class="lineno"> 2271</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="l02272"></a><span class="lineno"> 2272</span> </div><div class="line"><a name="l02273"></a><span class="lineno"> 2273</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l02274"></a><span class="lineno"> 2274</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>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l02272">2272</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="l02273"></a><span class="lineno"> 2273</span> {</div><div class="line"><a name="l02274"></a><span class="lineno"> 2274</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="l02275"></a><span class="lineno"> 2275</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="l02276"></a><span class="lineno"> 2276</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="l02277"></a><span class="lineno"> 2277</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="l02278"></a><span class="lineno"> 2278</span> </div><div class="line"><a name="l02279"></a><span class="lineno"> 2279</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l02280"></a><span class="lineno"> 2280</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>
@@ -20574,8 +21477,8 @@
</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#l02332">2332</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="l02333"></a><span class="lineno"> 2333</span> {</div><div class="line"><a name="l02334"></a><span class="lineno"> 2334</span>  os << <a class="code" href="namespacearm__compute.xhtml#ad87338ac39245d071b66a4f55cb06a16">to_string</a>(val);</div><div class="line"><a name="l02335"></a><span class="lineno"> 2335</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l02336"></a><span class="lineno"> 2336</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_ad87338ac39245d071b66a4f55cb06a16"><div class="ttname"><a href="namespacearm__compute.xhtml#ad87338ac39245d071b66a4f55cb06a16">arm_compute::to_string</a></div><div class="ttdeci">std::string to_string(const CLTunerMode val)</div><div class="ttdoc">Convert a CLTunerMode value to a string.</div><div class="ttdef"><b>Definition:</b> <a href="utils_2_type_printer_8h_source.xhtml#l02301">TypePrinter.h:2301</a></div></div>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l02338">2338</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="l02339"></a><span class="lineno"> 2339</span> {</div><div class="line"><a name="l02340"></a><span class="lineno"> 2340</span>  os << <a class="code" href="namespacearm__compute.xhtml#ad87338ac39245d071b66a4f55cb06a16">to_string</a>(val);</div><div class="line"><a name="l02341"></a><span class="lineno"> 2341</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l02342"></a><span class="lineno"> 2342</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_ad87338ac39245d071b66a4f55cb06a16"><div class="ttname"><a href="namespacearm__compute.xhtml#ad87338ac39245d071b66a4f55cb06a16">arm_compute::to_string</a></div><div class="ttdeci">std::string to_string(const CLTunerMode val)</div><div class="ttdoc">Convert a CLTunerMode value to a string.</div><div class="ttdef"><b>Definition:</b> <a href="utils_2_type_printer_8h_source.xhtml#l02307">TypePrinter.h:2307</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>
@@ -20625,9 +21528,9 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if the given quantization info is the same. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00155">155</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</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> (lhs.scale() == rhs.scale()) && (lhs.offset() == rhs.offset());</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span> }</div></div><!-- fragment -->
-<p class="reference">References <a class="el" href="_quantization_info_8h_source.xhtml#l00118">QuantizationInfo::offset()</a>, and <a class="el" href="_quantization_info_8h_source.xhtml#l00110">QuantizationInfo::scale()</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00167">167</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00168"></a><span class="lineno"> 168</span> {</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keywordflow">return</span> (lhs.scale() == rhs.scale()) && (lhs.offset() == rhs.offset());</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span> }</div></div><!-- fragment -->
+<p class="reference">References <a class="el" href="_quantization_info_8h_source.xhtml#l00130">QuantizationInfo::offset()</a>, and <a class="el" href="_quantization_info_8h_source.xhtml#l00122">QuantizationInfo::scale()</a>.</p>
</div>
</div>
@@ -20675,9 +21578,9 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if the given quantization info is the same. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00179">179</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</a>.</p>
-<div class="fragment"><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> (lhs.scale == rhs.scale) && (lhs.offset == rhs.offset);</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span> }</div></div><!-- fragment -->
-<p class="reference">References <a class="el" href="_quantization_info_8h_source.xhtml#l00062">UniformQuantizationInfo::offset</a>, and <a class="el" href="_quantization_info_8h_source.xhtml#l00061">UniformQuantizationInfo::scale</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00191">191</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00192"></a><span class="lineno"> 192</span> {</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keywordflow">return</span> (lhs.scale == rhs.scale) && (lhs.offset == rhs.offset);</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span> }</div></div><!-- fragment -->
+<p class="reference">References <a class="el" href="_quantization_info_8h_source.xhtml#l00063">UniformQuantizationInfo::offset</a>, and <a class="el" href="_quantization_info_8h_source.xhtml#l00062">UniformQuantizationInfo::scale</a>.</p>
</div>
</div>
@@ -20729,7 +21632,7 @@
<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="keywordflow">return</span> ((lhs.num_dimensions() == rhs.num_dimensions()) && std::equal(lhs.cbegin(), lhs.cend(), rhs.cbegin()));</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span> }</div></div><!-- fragment -->
<p class="reference">References <a class="el" href="_dimensions_8h_source.xhtml#l00210">Dimensions< T >::cbegin()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00234">Dimensions< T >::cend()</a>, and <a class="el" href="_dimensions_8h_source.xhtml#l00122">Dimensions< T >::num_dimensions()</a>.</p>
-<p class="reference">Referenced by <a class="el" href="_quantization_info_8h_source.xhtml#l00167">operator!=()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="_quantization_info_8h_source.xhtml#l00179">operator!=()</a>.</p>
</div>
</div>
@@ -20773,14 +21676,17 @@
<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/4]</span></h2>
+<a id="a641870b1f0ca7aaaa73c7a536c1e824b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a641870b1f0ca7aaaa73c7a536c1e824b">◆ </a></span>operator>>() <span class="overload">[2/4]</span></h2>
<div class="memitem">
<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">inline ::std::istream& arm_compute::operator>> </td>
+ <td class="memname">std::istream & operator>> </td>
<td>(</td>
<td class="paramtype">::std::istream & </td>
<td class="paramname"><em>stream</em>, </td>
@@ -20797,6 +21703,11 @@
<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>Input Stream operator for <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>. </p>
@@ -20810,8 +21721,8 @@
<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#a5f5b6c4337eac9e2e0046ca2304d80dc">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_a5f5b6c4337eac9e2e0046ca2304d80dc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a5f5b6c4337eac9e2e0046ca2304d80dc">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_addition_8cpp_source.xhtml#l00135">ArithmeticAddition.cpp:135</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#a5f5b6c4337eac9e2e0046ca2304d80dc">data_type</a> = <a class="code" href="namespacearm__compute.xhtml#a64e6501d564e950c3d527fb6b1f36f28">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_a5f5b6c4337eac9e2e0046ca2304d80dc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a5f5b6c4337eac9e2e0046ca2304d80dc">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_addition_8cpp_source.xhtml#l00135">ArithmeticAddition.cpp:135</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a64e6501d564e950c3d527fb6b1f36f28"><div class="ttname"><a href="namespacearm__compute.xhtml#a64e6501d564e950c3d527fb6b1f36f28">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>
@@ -20946,7 +21857,7 @@
<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#l00194">Dimensions< T >::begin()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00218">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="_shape_calculator_8h_source.xhtml#l00072">arm_compute::misc::shape_calculator::compute_permutation_output_shape()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00711">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#l00399">NPYLoader::fill_tensor()</a>, <a class="el" href="_graph_utils_8h_source.xhtml#l00618">arm_compute::graph_utils::permute_shape()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_8cpp_source.xhtml#l00139">CLDepthwiseConvolutionLayer3x3::validate()</a>, <a class="el" href="_c_l_g_e_m_m_deconvolution_layer_8cpp_source.xhtml#l00093">CLGEMMDeconvolutionLayer::validate()</a>, <a class="el" href="_validation_8h_source.xhtml#l00381">arm_compute::test::validation::validate()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00858">NEDepthwiseConvolutionLayer::validate()</a>, and <a class="el" href="_validation_8h_source.xhtml#l00456">arm_compute::test::validation::validate_wrap()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="_shape_calculator_8h_source.xhtml#l00072">arm_compute::misc::shape_calculator::compute_permutation_output_shape()</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#l00554">AssetsLibrary::fill()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00405">NPYLoader::fill_tensor()</a>, <a class="el" href="_graph_utils_8h_source.xhtml#l00664">arm_compute::graph_utils::permute_shape()</a>, <a class="el" href="_c_l_g_e_m_m_deconvolution_layer_8cpp_source.xhtml#l00093">CLGEMMDeconvolutionLayer::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>
@@ -21044,8 +21955,8 @@
</dd>
</dl>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00825">825</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="l00826"></a><span class="lineno"> 826</span> {</div><div class="line"><a name="l00827"></a><span class="lineno"> 827</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="l00828"></a><span class="lineno"> 828</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="l00829"></a><span class="lineno"> 829</span>  {</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span>  T dimension_val = old_dim[i];</div><div class="line"><a name="l00831"></a><span class="lineno"> 831</span>  dimensions.set(perm[i], dimension_val);</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> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00831">831</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="l00832"></a><span class="lineno"> 832</span> {</div><div class="line"><a name="l00833"></a><span class="lineno"> 833</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="l00834"></a><span class="lineno"> 834</span>  <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < perm.num_dimensions(); ++i)</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span>  {</div><div class="line"><a name="l00836"></a><span class="lineno"> 836</span>  T dimension_val = old_dim[i];</div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>  dimensions.set(perm[i], dimension_val);</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> }</div></div><!-- fragment -->
<p class="reference">References <a class="el" href="_dimensions_8h_source.xhtml#l00194">Dimensions< T >::begin()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00218">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>
@@ -21142,10 +22053,10 @@
<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>
<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#l00065">reduction_operation.cl:65</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="_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#l00466">Error.h:466</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#l00065">sum()</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#l00466">ARM_COMPUTE_ERROR_ON</a>, and <a class="el" href="reduction__operation_8cl_source.xhtml#l00065">sum()</a>.</p>
</div>
</div>
@@ -21209,10 +22120,10 @@
<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#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="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#l00466">Error.h:466</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">References <a class="el" href="_error_8h_source.xhtml#l00466">ARM_COMPUTE_ERROR_ON</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00127">delta_bilinear_c1()</a>.</p>
</div>
</div>
@@ -21292,11 +22203,11 @@
<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="_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#l00466">Error.h:466</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>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00466">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>
@@ -21333,10 +22244,10 @@
</dl>
<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#l00146">146</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="l00147"></a><span class="lineno"> 147</span> {</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordflow">switch</span>(format)</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">case</span> Format::U8:</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keywordflow">case</span> Format::RGBA8888:</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="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="comment">//Doesn't make sense for planar formats:</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</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="l00174"></a><span class="lineno"> 174</span>  <span class="keywordflow">return</span> 0;</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> }</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="arm__compute_2core_2_utils_8h_source.xhtml#l00148">148</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="l00149"></a><span class="lineno"> 149</span> {</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="keywordflow">switch</span>(format)</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">case</span> Format::U8:</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="comment">//Doesn't make sense for planar formats:</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Undefined pixel size for given format"</span>);</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <span class="keywordflow">return</span> 0;</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="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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">References <a class="el" href="_error_8h_source.xhtml#l00352">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>
@@ -21386,11 +22297,11 @@
</dl>
<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#l00256">256</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="l00257"></a><span class="lineno"> 257</span> {</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <span class="keywordflow">switch</span>(format)</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="comment">// Single planar formats have a single plane</span></div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  <span class="comment">// Multi planar formats</span></div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <span class="keywordflow">case</span> Format::NV21:</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="comment">// Channel U and V share the same plane of format UV88</span></div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <span class="keywordflow">switch</span>(channel)</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="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</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="l00284"></a><span class="lineno"> 284</span>  <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</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="l00288"></a><span class="lineno"> 288</span>  <span class="keywordflow">return</span> 0;</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>  }</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <span class="keywordflow">case</span> Format::YUV444:</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">switch</span>(channel)</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">case</span> Channel::Y:</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>  <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="l00299"></a><span class="lineno"> 299</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Not supported channel"</span>);</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  }</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  }</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</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="l00309"></a><span class="lineno"> 309</span>  <span class="keywordflow">return</span> 0;</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> }</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="arm__compute_2core_2_utils_8h_source.xhtml#l00260">260</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="l00261"></a><span class="lineno"> 261</span> {</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keywordflow">switch</span>(format)</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="comment">// Single planar formats have a single plane</span></div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <span class="comment">// Multi planar formats</span></div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <span class="keywordflow">case</span> Format::NV21:</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>  <span class="comment">// Channel U and V share the same plane of format UV88</span></div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  {</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</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="l00288"></a><span class="lineno"> 288</span>  <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Not supported channel"</span>);</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <span class="keywordflow">return</span> 0;</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>  }</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <span class="keywordflow">case</span> Format::YUV444:</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">switch</span>(channel)</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">case</span> Channel::Y:</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</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="l00303"></a><span class="lineno"> 303</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Not supported channel"</span>);</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <span class="keywordflow">return</span> 0;</div><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>  }</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Not supported format"</span>);</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <span class="keywordflow">return</span> 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> }</div><div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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">References <a class="el" href="_error_8h_source.xhtml#l00352">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>
@@ -21421,12 +22332,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if dummy work-items should be preferred to dispatch the NDRange </dd></dl>
-<p class="definition">Definition at line <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00268">268</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="l00269"></a><span class="lineno"> 269</span> {</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <a class="code" href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(device);</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <span class="comment">// TODO (COMPMID-2044)</span></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="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>
+<p class="definition">Definition at line <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00325">325</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="l00326"></a><span class="lineno"> 326</span> {</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <a class="code" href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(device);</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="comment">// TODO (COMPMID-2044)</span></div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</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#l00152">Error.h:152</a></div></div>
</div><!-- fragment -->
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00160">ARM_COMPUTE_UNUSED</a>.</p>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00152">ARM_COMPUTE_UNUSED</a>.</p>
-<p class="reference">Referenced by <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_native_kernel_8cpp_source.xhtml#l00175">CLGEMMLowpMatrixMultiplyNativeKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_reshaped_only_r_h_s_kernel_8cpp_source.xhtml#l00173">CLGEMMLowpMatrixMultiplyReshapedOnlyRHSKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_native_kernel_8cpp_source.xhtml#l00212">CLGEMMMatrixMultiplyNativeKernel::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_matrix_multiply_reshaped_only_r_h_s_kernel_8cpp_source.xhtml#l00215">CLGEMMMatrixMultiplyReshapedOnlyRHSKernel::configure()</a>, and <a class="el" href="_c_l_g_e_m_m_matrix_multiply_reshaped_kernel_8cpp_source.xhtml#l00214">CLGEMMMatrixMultiplyReshapedKernel::configure()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_native_kernel_8cpp_source.xhtml#l00172">CLGEMMLowpMatrixMultiplyNativeKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_reshaped_only_r_h_s_kernel_8cpp_source.xhtml#l00172">CLGEMMLowpMatrixMultiplyReshapedOnlyRHSKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_native_kernel_8cpp_source.xhtml#l00213">CLGEMMMatrixMultiplyNativeKernel::configure()</a>, and <a class="el" href="_c_l_g_e_m_m_matrix_multiply_reshaped_only_r_h_s_kernel_8cpp_source.xhtml#l00216">CLGEMMMatrixMultiplyReshapedOnlyRHSKernel::configure()</a>.</p>
</div>
</div>
@@ -21466,12 +22377,125 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>preferred vector width </dd></dl>
-<p class="definition">Definition at line <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00241">241</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="l00242"></a><span class="lineno"> 242</span> {</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  {</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keywordflow">case</span> DataType::QSYMM8:</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <span class="keywordflow">return</span> device.getInfo<CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR>();</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <span class="keywordflow">case</span> DataType::QSYMM16:</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_SHORT>();</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <span class="keywordflow">return</span> device.getInfo<CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT>();</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <span class="keywordflow">return</span> device.getInfo<CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT>();</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keywordflow">return</span> device.getInfo<CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG>();</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  }</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span> }</div></div><!-- 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#ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6">QSYMM16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c">QSYMM8</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="definition">Definition at line <a class="el" href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00296">296</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="l00297"></a><span class="lineno"> 297</span> {</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <span class="keywordflow">switch</span>(dt)</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">case</span> DataType::U8:</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <span class="keywordflow">case</span> DataType::QSYMM8:</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <span class="keywordflow">case</span> DataType::QSYMM8_PER_CHANNEL:</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <span class="keywordflow">return</span> device.getInfo<CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR>();</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <span class="keywordflow">case</span> DataType::QSYMM16:</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <span class="keywordflow">case</span> DataType::QASYMM16:</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  <span class="keywordflow">return</span> device.getInfo<CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT>();</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <span class="keywordflow">return</span> device.getInfo<CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT>();</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <span class="keywordflow">return</span> device.getInfo<CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT>();</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <span class="keywordflow">return</span> device.getInfo<CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG>();</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  <span class="keywordflow">return</span> 1;</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> }</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#ad8ed01ff3ff33333d8e19db4d2818bb6a3b989c6b5398b3b9538ad103a324205e">QASYMM16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6">QSYMM16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c">QSYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a34f500e941c4df30b870126ec868ebd5">QSYMM8_PER_CHANNEL</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>
</div>
</div>
+<a id="a3fcdebf0b2654721ecdfa39b6bbd542d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3fcdebf0b2654721ecdfa39b6bbd542d">◆ </a></span>quantize_qasymm16() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint16_t arm_compute::quantize_qasymm16 </td>
+ <td>(</td>
+ <td class="paramtype">float </td>
+ <td class="paramname"><em>value</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="structarm__compute_1_1_uniform_quantization_info.xhtml">UniformQuantizationInfo</a> & </td>
+ <td class="paramname"><em>qinfo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a> </td>
+ <td class="paramname"><em>rounding_policy</em> = <code><a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95">RoundingPolicy::TO_NEAREST_UP</a></code> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Quantize a value given a 16-bit asymmetric quantization scheme. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to quantize </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">qinfo</td><td>Quantization information to use for quantizing </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">rounding_policy</td><td>(Optional) Rounding policy to use. Default: nearest up</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Quantized value </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00414">414</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00415"></a><span class="lineno"> 415</span> {</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  <span class="keywordtype">int</span> quantized = <a class="code" href="namespacearm__compute.xhtml#aaae2b6b1c3f4404121346a4c27b22647">arm_compute::round</a>(value / <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>.<a class="code" href="classarm__compute_1_1_quantization_info.xhtml#af21c7fddee28e9aa0a37c633300db0e0">scale</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a60ad1078faeaf3f59266d69ad937339f">rounding_policy</a>) + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>.<a class="code" href="classarm__compute_1_1_quantization_info.xhtml#a08ffa53eaabde3e18b003f8182ac09bf">offset</a>;</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  quantized = arm_compute::utility::clamp<int, uint16_t>(quantized);</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  <span class="keywordflow">return</span> quantized;</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span> }</div><div class="ttc" id="classarm__compute_1_1_quantization_info_xhtml_a08ffa53eaabde3e18b003f8182ac09bf"><div class="ttname"><a href="classarm__compute_1_1_quantization_info.xhtml#a08ffa53eaabde3e18b003f8182ac09bf">arm_compute::QuantizationInfo::offset</a></div><div class="ttdeci">const std::vector< int32_t > & offset() const</div><div class="ttdoc">Offset vector accessor.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00130">QuantizationInfo.h:130</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_quantization_info_xhtml_af21c7fddee28e9aa0a37c633300db0e0"><div class="ttname"><a href="classarm__compute_1_1_quantization_info.xhtml#af21c7fddee28e9aa0a37c633300db0e0">arm_compute::QuantizationInfo::scale</a></div><div class="ttdeci">const std::vector< float > & scale() const</div><div class="ttdoc">Scale vector accessor.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00122">QuantizationInfo.h:122</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_ad85d7becf0c6e3cffbc255489808e219"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">arm_compute::test::validation::qinfo</a></div><div class="ttdeci">const QuantizationInfo qinfo</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00150">Im2Col.cpp:150</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#l00317">PixelWiseMultiplication.cpp:317</a></div></div>
+</div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="tests_2validation_2_helpers_8cpp_source.xhtml#l00149">arm_compute::test::validation::convert_to_asymmetric()</a>, <a class="el" href="_pixel_value_8h_source.xhtml#l00048">PixelValue::PixelValue()</a>, and <a class="el" href="validation_2reference_2_quantization_layer_8cpp_source.xhtml#l00037">arm_compute::test::validation::reference::quantization_layer()</a>.</p>
+
+</div>
+</div>
+<a id="a2ce67542f90c3e1adc608037ccdf9bdc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2ce67542f90c3e1adc608037ccdf9bdc">◆ </a></span>quantize_qasymm16() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint16_t arm_compute::quantize_qasymm16 </td>
+ <td>(</td>
+ <td class="paramtype">float </td>
+ <td class="paramname"><em>value</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> & </td>
+ <td class="paramname"><em>qinfo</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>Quantize a value given a 16-bit asymmetric quantization scheme. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to quantize </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">qinfo</td><td>Quantization information to use for quantizing</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Quantized value </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00440">440</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.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>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a2ce67542f90c3e1adc608037ccdf9bdc">quantize_qasymm16</a>(value, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>.<a class="code" href="classarm__compute_1_1_quantization_info.xhtml#a706fc156bcd4c45441bcaad05884b57d">uniform</a>());</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span> }</div><div class="ttc" id="classarm__compute_1_1_quantization_info_xhtml_a706fc156bcd4c45441bcaad05884b57d"><div class="ttname"><a href="classarm__compute_1_1_quantization_info.xhtml#a706fc156bcd4c45441bcaad05884b57d">arm_compute::QuantizationInfo::uniform</a></div><div class="ttdeci">UniformQuantizationInfo uniform() const</div><div class="ttdoc">Return per layer quantization info.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00146">QuantizationInfo.h:146</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad85d7becf0c6e3cffbc255489808e219"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">arm_compute::test::validation::qinfo</a></div><div class="ttdeci">const QuantizationInfo qinfo</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00150">Im2Col.cpp:150</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a2ce67542f90c3e1adc608037ccdf9bdc"><div class="ttname"><a href="namespacearm__compute.xhtml#a2ce67542f90c3e1adc608037ccdf9bdc">arm_compute::quantize_qasymm16</a></div><div class="ttdeci">uint16_t quantize_qasymm16(float value, const QuantizationInfo &qinfo)</div><div class="ttdoc">Quantize a value given a 16-bit asymmetric quantization scheme.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00440">QuantizationInfo.h:440</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
<a id="a25591070cf041aff512719050c39e5ee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a25591070cf041aff512719050c39e5ee">◆ </a></span>quantize_qasymm8() <span class="overload">[1/2]</span></h2>
@@ -21512,7 +22536,7 @@
</table>
</div><div class="memdoc">
-<p>Quantize a value given a asymmetric quantization scheme. </p>
+<p>Quantize a value given a 8-bit asymmetric quantization scheme. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to quantize </td></tr>
@@ -21523,14 +22547,14 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Quantized value </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00204">204</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00205"></a><span class="lineno"> 205</span> {</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keywordtype">int</span> quantized = <a class="code" href="namespacearm__compute.xhtml#aaae2b6b1c3f4404121346a4c27b22647">arm_compute::round</a>(value / <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>.<a class="code" href="classarm__compute_1_1_quantization_info.xhtml#af21c7fddee28e9aa0a37c633300db0e0">scale</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a60ad1078faeaf3f59266d69ad937339f">rounding_policy</a>) + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>.<a class="code" href="classarm__compute_1_1_quantization_info.xhtml#a08ffa53eaabde3e18b003f8182ac09bf">offset</a>;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  quantized = std::max(0, std::min(quantized, 255));</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <span class="keywordflow">return</span> quantized;</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span> }</div><div class="ttc" id="classarm__compute_1_1_quantization_info_xhtml_a08ffa53eaabde3e18b003f8182ac09bf"><div class="ttname"><a href="classarm__compute_1_1_quantization_info.xhtml#a08ffa53eaabde3e18b003f8182ac09bf">arm_compute::QuantizationInfo::offset</a></div><div class="ttdeci">const std::vector< int32_t > & offset() const</div><div class="ttdoc">Offset vector accessor.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00118">QuantizationInfo.h:118</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_quantization_info_xhtml_af21c7fddee28e9aa0a37c633300db0e0"><div class="ttname"><a href="classarm__compute_1_1_quantization_info.xhtml#af21c7fddee28e9aa0a37c633300db0e0">arm_compute::QuantizationInfo::scale</a></div><div class="ttdeci">const std::vector< float > & scale() const</div><div class="ttdoc">Scale vector accessor.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00110">QuantizationInfo.h:110</a></div></div>
+<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00216">216</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00217"></a><span class="lineno"> 217</span> {</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <span class="keywordtype">int</span> quantized = <a class="code" href="namespacearm__compute.xhtml#aaae2b6b1c3f4404121346a4c27b22647">arm_compute::round</a>(value / <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>.<a class="code" href="classarm__compute_1_1_quantization_info.xhtml#af21c7fddee28e9aa0a37c633300db0e0">scale</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a60ad1078faeaf3f59266d69ad937339f">rounding_policy</a>) + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>.<a class="code" href="classarm__compute_1_1_quantization_info.xhtml#a08ffa53eaabde3e18b003f8182ac09bf">offset</a>;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  quantized = std::max(0, std::min(quantized, 255));</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <span class="keywordflow">return</span> quantized;</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span> }</div><div class="ttc" id="classarm__compute_1_1_quantization_info_xhtml_a08ffa53eaabde3e18b003f8182ac09bf"><div class="ttname"><a href="classarm__compute_1_1_quantization_info.xhtml#a08ffa53eaabde3e18b003f8182ac09bf">arm_compute::QuantizationInfo::offset</a></div><div class="ttdeci">const std::vector< int32_t > & offset() const</div><div class="ttdoc">Offset vector accessor.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00130">QuantizationInfo.h:130</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_quantization_info_xhtml_af21c7fddee28e9aa0a37c633300db0e0"><div class="ttname"><a href="classarm__compute_1_1_quantization_info.xhtml#af21c7fddee28e9aa0a37c633300db0e0">arm_compute::QuantizationInfo::scale</a></div><div class="ttdeci">const std::vector< float > & scale() const</div><div class="ttdoc">Scale vector accessor.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00122">QuantizationInfo.h:122</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_ad85d7becf0c6e3cffbc255489808e219"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">arm_compute::test::validation::qinfo</a></div><div class="ttdeci">const QuantizationInfo qinfo</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00150">Im2Col.cpp:150</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#l00317">PixelWiseMultiplication.cpp:317</a></div></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#l00227">CLDepthwiseConvolutionLayer3x3NCHWKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00178">CLDepthwiseConvolutionLayer3x3NHWCKernel::configure()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00119">CLActivationLayerKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00177">CLGEMMConvolutionLayer::configure()</a>, <a class="el" href="tests_2validation_2_helpers_8cpp_source.xhtml#l00123">arm_compute::test::validation::convert_to_asymmetric()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00161">delta_bilinear_c1_quantized()</a>, <a class="el" href="validation_2reference_2_depth_concatenate_layer_8cpp_source.xhtml#l00037">arm_compute::test::validation::reference::depthconcatenate_layer()</a>, <a class="el" href="tests_2validation_2_helpers_8cpp_source.xhtml#l00294">arm_compute::test::validation::get_quantized_bounds()</a>, <a class="el" href="_pixel_value_8h_source.xhtml#l00048">PixelValue::PixelValue()</a>, <a class="el" href="validation_2reference_2_quantization_layer_8cpp_source.xhtml#l00037">arm_compute::test::validation::reference::quantization_layer()</a>, and <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00373">CLGEMMConvolutionLayer::validate()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_c_h_w_kernel_8cpp_source.xhtml#l00243">CLDepthwiseConvolutionLayer3x3NCHWKernel::configure()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00119">CLActivationLayerKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00197">CLDepthwiseConvolutionLayer3x3NHWCKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_native_kernel_8cpp_source.xhtml#l00180">CLDepthwiseConvolutionLayerNativeKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00181">CLGEMMConvolutionLayer::configure()</a>, <a class="el" href="tests_2validation_2_helpers_8cpp_source.xhtml#l00136">arm_compute::test::validation::convert_to_asymmetric()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00161">delta_bilinear_c1_quantized()</a>, <a class="el" href="validation_2reference_2_depth_concatenate_layer_8cpp_source.xhtml#l00037">arm_compute::test::validation::reference::depthconcatenate_layer()</a>, <a class="el" href="graph__validate__utils_8h_source.xhtml#l00453">VerifyAccessor< D >::fill_tensor()</a>, <a class="el" href="tests_2validation_2_helpers_8cpp_source.xhtml#l00320">arm_compute::test::validation::get_quantized_bounds()</a>, <a class="el" href="_pixel_value_8h_source.xhtml#l00048">PixelValue::PixelValue()</a>, <a class="el" href="validation_2reference_2_quantization_layer_8cpp_source.xhtml#l00037">arm_compute::test::validation::reference::quantization_layer()</a>, <a class="el" href="_n_e_r_o_i_align_layer_kernel_8cpp_source.xhtml#l00204">roi_align_1x1_qasymm8()</a>, and <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00400">CLGEMMConvolutionLayer::validate()</a>.</p>
</div>
</div>
@@ -21574,7 +22598,7 @@
</table>
</div><div class="memdoc">
-<p>Quantize a value given a asymmetric quantization scheme. </p>
+<p>Quantize a value given a 8-bit asymmetric quantization scheme. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to quantize </td></tr>
@@ -21585,8 +22609,8 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Quantized value </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00219">219</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</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>  UniformQuantizationInfo uqinfo = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>.<a class="code" href="classarm__compute_1_1_quantization_info.xhtml#a706fc156bcd4c45441bcaad05884b57d">uniform</a>();</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordtype">int</span> quantized = <a class="code" href="namespacearm__compute.xhtml#aaae2b6b1c3f4404121346a4c27b22647">arm_compute::round</a>(value / uqinfo.scale, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a60ad1078faeaf3f59266d69ad937339f">rounding_policy</a>) + uqinfo.offset;</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  quantized = std::max(0, std::min(quantized, 255));</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keywordflow">return</span> quantized;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span> }</div><div class="ttc" id="classarm__compute_1_1_quantization_info_xhtml_a706fc156bcd4c45441bcaad05884b57d"><div class="ttname"><a href="classarm__compute_1_1_quantization_info.xhtml#a706fc156bcd4c45441bcaad05884b57d">arm_compute::QuantizationInfo::uniform</a></div><div class="ttdeci">UniformQuantizationInfo uniform() const</div><div class="ttdoc">Return per layer quantization info.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00134">QuantizationInfo.h:134</a></div></div>
+<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00231">231</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00232"></a><span class="lineno"> 232</span> {</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  UniformQuantizationInfo uqinfo = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>.<a class="code" href="classarm__compute_1_1_quantization_info.xhtml#a706fc156bcd4c45441bcaad05884b57d">uniform</a>();</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <span class="keywordtype">int</span> quantized = <a class="code" href="namespacearm__compute.xhtml#aaae2b6b1c3f4404121346a4c27b22647">arm_compute::round</a>(value / uqinfo.scale, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a60ad1078faeaf3f59266d69ad937339f">rounding_policy</a>) + uqinfo.offset;</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  quantized = std::max(0, std::min(quantized, 255));</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <span class="keywordflow">return</span> quantized;</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span> }</div><div class="ttc" id="classarm__compute_1_1_quantization_info_xhtml_a706fc156bcd4c45441bcaad05884b57d"><div class="ttname"><a href="classarm__compute_1_1_quantization_info.xhtml#a706fc156bcd4c45441bcaad05884b57d">arm_compute::QuantizationInfo::uniform</a></div><div class="ttdeci">UniformQuantizationInfo uniform() const</div><div class="ttdoc">Return per layer quantization info.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00146">QuantizationInfo.h:146</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_ad85d7becf0c6e3cffbc255489808e219"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">arm_compute::test::validation::qinfo</a></div><div class="ttdeci">const QuantizationInfo qinfo</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00150">Im2Col.cpp:150</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#l00317">PixelWiseMultiplication.cpp:317</a></div></div>
@@ -21644,13 +22668,13 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Quantized value </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00323">323</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00324"></a><span class="lineno"> 324</span> {</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <span class="keywordtype">int</span> quantized = <a class="code" href="namespacearm__compute.xhtml#aaae2b6b1c3f4404121346a4c27b22647">arm_compute::round</a>(value / <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>.<a class="code" href="classarm__compute_1_1_quantization_info.xhtml#af21c7fddee28e9aa0a37c633300db0e0">scale</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a60ad1078faeaf3f59266d69ad937339f">rounding_policy</a>);</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  quantized = arm_compute::utility::clamp<int, int16_t>(quantized);</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <span class="keywordflow">return</span> quantized;</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span> }</div><div class="ttc" id="classarm__compute_1_1_quantization_info_xhtml_af21c7fddee28e9aa0a37c633300db0e0"><div class="ttname"><a href="classarm__compute_1_1_quantization_info.xhtml#af21c7fddee28e9aa0a37c633300db0e0">arm_compute::QuantizationInfo::scale</a></div><div class="ttdeci">const std::vector< float > & scale() const</div><div class="ttdoc">Scale vector accessor.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00110">QuantizationInfo.h:110</a></div></div>
+<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00363">363</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00364"></a><span class="lineno"> 364</span> {</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  <span class="keywordtype">int</span> quantized = <a class="code" href="namespacearm__compute.xhtml#aaae2b6b1c3f4404121346a4c27b22647">arm_compute::round</a>(value / <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>.<a class="code" href="classarm__compute_1_1_quantization_info.xhtml#af21c7fddee28e9aa0a37c633300db0e0">scale</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a60ad1078faeaf3f59266d69ad937339f">rounding_policy</a>);</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  quantized = arm_compute::utility::clamp<int, int16_t>(quantized);</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  <span class="keywordflow">return</span> quantized;</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span> }</div><div class="ttc" id="classarm__compute_1_1_quantization_info_xhtml_af21c7fddee28e9aa0a37c633300db0e0"><div class="ttname"><a href="classarm__compute_1_1_quantization_info.xhtml#af21c7fddee28e9aa0a37c633300db0e0">arm_compute::QuantizationInfo::scale</a></div><div class="ttdeci">const std::vector< float > & scale() const</div><div class="ttdoc">Scale vector accessor.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00122">QuantizationInfo.h:122</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_ad85d7becf0c6e3cffbc255489808e219"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">arm_compute::test::validation::qinfo</a></div><div class="ttdeci">const QuantizationInfo qinfo</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00150">Im2Col.cpp:150</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#l00317">PixelWiseMultiplication.cpp:317</a></div></div>
</div><!-- fragment -->
-<p class="reference">Referenced by <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00119">CLActivationLayerKernel::configure()</a>, <a class="el" href="tests_2validation_2_helpers_8cpp_source.xhtml#l00136">arm_compute::test::validation::convert_to_symmetric()</a>, and <a class="el" href="_pixel_value_8h_source.xhtml#l00048">PixelValue::PixelValue()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00119">CLActivationLayerKernel::configure()</a>, <a class="el" href="tests_2validation_2_helpers_8cpp_source.xhtml#l00162">arm_compute::test::validation::convert_to_symmetric()</a>, and <a class="el" href="_pixel_value_8h_source.xhtml#l00048">PixelValue::PixelValue()</a>.</p>
</div>
</div>
@@ -21698,10 +22722,10 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Quantized value </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00349">349</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00350"></a><span class="lineno"> 350</span> {</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#af4a7d06572ce2a9c8c8fb3e37f1bb1d4">quantize_qsymm16</a>(value, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>.<a class="code" href="classarm__compute_1_1_quantization_info.xhtml#a706fc156bcd4c45441bcaad05884b57d">uniform</a>());</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span> }</div><div class="ttc" id="classarm__compute_1_1_quantization_info_xhtml_a706fc156bcd4c45441bcaad05884b57d"><div class="ttname"><a href="classarm__compute_1_1_quantization_info.xhtml#a706fc156bcd4c45441bcaad05884b57d">arm_compute::QuantizationInfo::uniform</a></div><div class="ttdeci">UniformQuantizationInfo uniform() const</div><div class="ttdoc">Return per layer quantization info.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00134">QuantizationInfo.h:134</a></div></div>
+<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00389">389</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00390"></a><span class="lineno"> 390</span> {</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#af4a7d06572ce2a9c8c8fb3e37f1bb1d4">quantize_qsymm16</a>(value, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>.<a class="code" href="classarm__compute_1_1_quantization_info.xhtml#a706fc156bcd4c45441bcaad05884b57d">uniform</a>());</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span> }</div><div class="ttc" id="classarm__compute_1_1_quantization_info_xhtml_a706fc156bcd4c45441bcaad05884b57d"><div class="ttname"><a href="classarm__compute_1_1_quantization_info.xhtml#a706fc156bcd4c45441bcaad05884b57d">arm_compute::QuantizationInfo::uniform</a></div><div class="ttdeci">UniformQuantizationInfo uniform() const</div><div class="ttdoc">Return per layer quantization info.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00146">QuantizationInfo.h:146</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad85d7becf0c6e3cffbc255489808e219"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">arm_compute::test::validation::qinfo</a></div><div class="ttdeci">const QuantizationInfo qinfo</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00150">Im2Col.cpp:150</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_af4a7d06572ce2a9c8c8fb3e37f1bb1d4"><div class="ttname"><a href="namespacearm__compute.xhtml#af4a7d06572ce2a9c8c8fb3e37f1bb1d4">arm_compute::quantize_qsymm16</a></div><div class="ttdeci">int16_t quantize_qsymm16(float value, const QuantizationInfo &qinfo)</div><div class="ttdoc">Quantize a value given a 16-bit symmetric quantization scheme.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00349">QuantizationInfo.h:349</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_af4a7d06572ce2a9c8c8fb3e37f1bb1d4"><div class="ttname"><a href="namespacearm__compute.xhtml#af4a7d06572ce2a9c8c8fb3e37f1bb1d4">arm_compute::quantize_qsymm16</a></div><div class="ttdeci">int16_t quantize_qsymm16(float value, const QuantizationInfo &qinfo)</div><div class="ttdoc">Quantize a value given a 16-bit symmetric quantization scheme.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00389">QuantizationInfo.h:389</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -21739,7 +22763,7 @@
</table>
</div><div class="memdoc">
-<p>Quantize a value given a symmetric quantization scheme. </p>
+<p>Quantize a value given a 8-bit symmetric quantization scheme. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to quantize </td></tr>
@@ -21749,9 +22773,9 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Quantized value </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00234">234</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</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="keywordtype">int</span> quantized = <a class="code" href="namespacearm__compute.xhtml#aaae2b6b1c3f4404121346a4c27b22647">arm_compute::round</a>(value / <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>.<a class="code" href="classarm__compute_1_1_quantization_info.xhtml#a706fc156bcd4c45441bcaad05884b57d">uniform</a>().<a class="code" href="structarm__compute_1_1_uniform_quantization_info.xhtml#a1d28dec57cce925ad92342891bd71e7c">scale</a>, RoundingPolicy::TO_NEAREST_UP);</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  quantized = std::max(-128, std::min(quantized, 127));</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="keywordflow">return</span> quantized;</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> }</div><div class="ttc" id="structarm__compute_1_1_uniform_quantization_info_xhtml_a1d28dec57cce925ad92342891bd71e7c"><div class="ttname"><a href="structarm__compute_1_1_uniform_quantization_info.xhtml#a1d28dec57cce925ad92342891bd71e7c">arm_compute::UniformQuantizationInfo::scale</a></div><div class="ttdeci">float scale</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00061">QuantizationInfo.h:61</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_quantization_info_xhtml_a706fc156bcd4c45441bcaad05884b57d"><div class="ttname"><a href="classarm__compute_1_1_quantization_info.xhtml#a706fc156bcd4c45441bcaad05884b57d">arm_compute::QuantizationInfo::uniform</a></div><div class="ttdeci">UniformQuantizationInfo uniform() const</div><div class="ttdoc">Return per layer quantization info.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00134">QuantizationInfo.h:134</a></div></div>
+<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00246">246</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00247"></a><span class="lineno"> 247</span> {</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keywordtype">int</span> quantized = <a class="code" href="namespacearm__compute.xhtml#aaae2b6b1c3f4404121346a4c27b22647">arm_compute::round</a>(value / <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>.<a class="code" href="classarm__compute_1_1_quantization_info.xhtml#a706fc156bcd4c45441bcaad05884b57d">uniform</a>().<a class="code" href="structarm__compute_1_1_uniform_quantization_info.xhtml#a1d28dec57cce925ad92342891bd71e7c">scale</a>, RoundingPolicy::TO_NEAREST_UP);</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  quantized = std::max(-128, std::min(quantized, 127));</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <span class="keywordflow">return</span> quantized;</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span> }</div><div class="ttc" id="structarm__compute_1_1_uniform_quantization_info_xhtml_a1d28dec57cce925ad92342891bd71e7c"><div class="ttname"><a href="structarm__compute_1_1_uniform_quantization_info.xhtml#a1d28dec57cce925ad92342891bd71e7c">arm_compute::UniformQuantizationInfo::scale</a></div><div class="ttdeci">float scale</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00062">QuantizationInfo.h:62</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_quantization_info_xhtml_a706fc156bcd4c45441bcaad05884b57d"><div class="ttname"><a href="classarm__compute_1_1_quantization_info.xhtml#a706fc156bcd4c45441bcaad05884b57d">arm_compute::QuantizationInfo::uniform</a></div><div class="ttdeci">UniformQuantizationInfo uniform() const</div><div class="ttdoc">Return per layer quantization info.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00146">QuantizationInfo.h:146</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_ad85d7becf0c6e3cffbc255489808e219"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">arm_compute::test::validation::qinfo</a></div><div class="ttdeci">const QuantizationInfo qinfo</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00150">Im2Col.cpp:150</a></div></div>
</div><!-- fragment -->
@@ -21759,6 +22783,66 @@
</div>
</div>
+<a id="adcbb8a7cd81427846571f9bef039f953"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adcbb8a7cd81427846571f9bef039f953">◆ </a></span>quantize_qsymm8_per_channel()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">int8_t arm_compute::quantize_qsymm8_per_channel </td>
+ <td>(</td>
+ <td class="paramtype">float </td>
+ <td class="paramname"><em>value</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> & </td>
+ <td class="paramname"><em>qinfo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t </td>
+ <td class="paramname"><em>channel_id</em> = <code>0</code> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Quantize a value given a 8-bit symmetric per channel quantization scheme. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to quantize </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">qinfo</td><td>Quantization information to use for quantizing </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">channel_id</td><td>channel index into the scale vector of quantization info</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Quantized value </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="_quantization_info_8h_source.xhtml#l00261">261</a> of file <a class="el" href="_quantization_info_8h_source.xhtml">QuantizationInfo.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00262"></a><span class="lineno"> 262</span> {</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="keywordtype">int</span> quantized = <a class="code" href="namespacearm__compute.xhtml#aaae2b6b1c3f4404121346a4c27b22647">arm_compute::round</a>(value / <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>.<a class="code" href="classarm__compute_1_1_quantization_info.xhtml#af21c7fddee28e9aa0a37c633300db0e0">scale</a>()[channel_id], RoundingPolicy::TO_NEAREST_UP);</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  quantized = std::max(-128, std::min(quantized, 127));</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <span class="keywordflow">return</span> quantized;</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span> }</div><div class="ttc" id="classarm__compute_1_1_quantization_info_xhtml_af21c7fddee28e9aa0a37c633300db0e0"><div class="ttname"><a href="classarm__compute_1_1_quantization_info.xhtml#af21c7fddee28e9aa0a37c633300db0e0">arm_compute::QuantizationInfo::scale</a></div><div class="ttdeci">const std::vector< float > & scale() const</div><div class="ttdoc">Scale vector accessor.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00122">QuantizationInfo.h:122</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_ad85d7becf0c6e3cffbc255489808e219"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">arm_compute::test::validation::qinfo</a></div><div class="ttdeci">const QuantizationInfo qinfo</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00150">Im2Col.cpp:150</a></div></div>
+</div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="tests_2validation_2_helpers_8cpp_source.xhtml#l00329">arm_compute::test::validation::get_symm_quantized_per_channel_bounds()</a>.</p>
+
+</div>
+</div>
<a id="ae0d288429eb20baf6da6109f3a21e6bb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae0d288429eb20baf6da6109f3a21e6bb">◆ </a></span>read_file()</h2>
@@ -21796,9 +22880,215 @@
<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#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 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#abd040a16dc0dbc75733e07aff93048a8">ARM_COMPUTE_ERROR_VAR</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_abd040a16dc0dbc75733e07aff93048a8"><div class="ttname"><a href="_error_8h.xhtml#abd040a16dc0dbc75733e07aff93048a8">ARM_COMPUTE_ERROR_VAR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_VAR(msg,...)</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#l00346">Error.h:346</a></div></div>
</div><!-- fragment -->
-<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>.</p>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00346">ARM_COMPUTE_ERROR_VAR</a>.</p>
+
+</div>
+</div>
+<a id="ad04c9c3a53fde2e48e97bbec5dcacd9c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad04c9c3a53fde2e48e97bbec5dcacd9c">◆ </a></span>roi_align_1x1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">input_data_type arm_compute::roi_align_1x1 </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">unsigned int </td>
+ <td class="paramname"><em>roi_batch</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">float </td>
+ <td class="paramname"><em>region_start_x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">float </td>
+ <td class="paramname"><em>bin_size_x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int </td>
+ <td class="paramname"><em>grid_size_x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">float </td>
+ <td class="paramname"><em>region_end_x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">float </td>
+ <td class="paramname"><em>region_start_y</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">float </td>
+ <td class="paramname"><em>bin_size_y</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int </td>
+ <td class="paramname"><em>grid_size_y</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">float </td>
+ <td class="paramname"><em>region_end_y</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int </td>
+ <td class="paramname"><em>pz</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>Average pooling over an aligned window. </p>
+
+<p class="definition">Definition at line <a class="el" href="_n_e_r_o_i_align_layer_kernel_8cpp_source.xhtml#l00135">135</a> of file <a class="el" href="_n_e_r_o_i_align_layer_kernel_8cpp_source.xhtml">NEROIAlignLayerKernel.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>  <span class="keywordflow">if</span>((region_end_x <= region_start_x) || (region_end_y <= region_start_y))</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  {</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordflow">return</span> input_data_type(0);</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">else</span></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="keywordtype">float</span> avg = 0;</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="comment">// Iterate through the aligned pooling region</span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keywordflow">for</span>(<span class="keywordtype">int</span> iy = 0; iy < grid_size_y; ++iy)</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  {</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keywordflow">for</span>(<span class="keywordtype">int</span> ix = 0; ix < grid_size_x; ++ix)</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  {</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="comment">// Align the window in the middle of every bin</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keywordtype">float</span> y = region_start_y + (iy + 0.5) * bin_size_y / float(grid_size_y);</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keywordtype">float</span> x = region_start_x + (ix + 0.5) * bin_size_x / float(grid_size_x);</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="comment">// Interpolation in the [0,0] [0,1] [1,0] [1,1] square</span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> y_low = y;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> x_low = x;</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> y_high = y_low + 1;</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> x_high = x_low + 1;</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> ly = y - y_low;</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> lx = x - x_low;</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> hy = 1. - ly;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> hx = 1. - lx;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> w1 = hy * hx;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> w2 = hy * lx;</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> w3 = ly * hx;</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> w4 = ly * lx;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">data_layout</a> == DataLayout::NCHW)</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="keyword">const</span> <span class="keyword">auto</span> data1 = *reinterpret_cast<const input_data_type *>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>->ptr_to_element(Coordinates(x_low, y_low, pz, roi_batch)));</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <span class="keyword">const</span> <span class="keyword">auto</span> data2 = *reinterpret_cast<const input_data_type *>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>->ptr_to_element(Coordinates(x_high, y_low, pz, roi_batch)));</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <span class="keyword">const</span> <span class="keyword">auto</span> data3 = *reinterpret_cast<const input_data_type *>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>->ptr_to_element(Coordinates(x_low, y_high, pz, roi_batch)));</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="keyword">const</span> <span class="keyword">auto</span> data4 = *reinterpret_cast<const input_data_type *>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>->ptr_to_element(Coordinates(x_high, y_high, pz, roi_batch)));</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  avg += w1 * data1 + w2 * data2 + w3 * data3 + w4 * data4;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  }</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keywordflow">else</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> <span class="keyword">auto</span> data1 = *reinterpret_cast<const input_data_type *>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>->ptr_to_element(Coordinates(pz, x_low, y_low, roi_batch)));</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <span class="keyword">const</span> <span class="keyword">auto</span> data2 = *reinterpret_cast<const input_data_type *>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>->ptr_to_element(Coordinates(pz, x_high, y_low, roi_batch)));</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <span class="keyword">const</span> <span class="keyword">auto</span> data3 = *reinterpret_cast<const input_data_type *>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>->ptr_to_element(Coordinates(pz, x_low, y_high, roi_batch)));</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="keyword">const</span> <span class="keyword">auto</span> data4 = *reinterpret_cast<const input_data_type *>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>->ptr_to_element(Coordinates(pz, x_high, y_high, roi_batch)));</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  avg += w1 * data1 + w2 * data2 + w3 * data3 + w4 * data4;</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>  }</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>  avg /= grid_size_x * grid_size_y;</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <span class="keywordflow">return</span> input_data_type(avg);</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="namespacearm__compute_1_1test_1_1validation_xhtml_acf5f12bbab64dd614bd8220c97fe484f"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">arm_compute::test::validation::data_layout</a></div><div class="ttdeci">const DataLayout data_layout</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00146">Im2Col.cpp:146</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a8fcf2ddd9a1d58b1b280f5c0aed71845"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">arm_compute::test::validation::input</a></div><div class="ttdeci">auto input</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">LSTMLayerQuantized.cpp:487</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00146">arm_compute::test::validation::data_layout</a>, <a class="el" href="_c_l_2_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">arm_compute::test::validation::input</a>, and <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">NCHW</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="reference_2_r_o_i_align_layer_8cpp_source.xhtml#l00133">arm_compute::test::validation::reference::roi_align_layer()</a>.</p>
+
+</div>
+</div>
+<a id="a2d37af8393d4b6b8d0c3440a6f1b386b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2d37af8393d4b6b8d0c3440a6f1b386b">◆ </a></span>roi_align_1x1_qasymm8()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">input_data_type arm_compute::roi_align_1x1_qasymm8 </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">unsigned int </td>
+ <td class="paramname"><em>roi_batch</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">float </td>
+ <td class="paramname"><em>region_start_x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">float </td>
+ <td class="paramname"><em>bin_size_x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int </td>
+ <td class="paramname"><em>grid_size_x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">float </td>
+ <td class="paramname"><em>region_end_x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">float </td>
+ <td class="paramname"><em>region_start_y</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">float </td>
+ <td class="paramname"><em>bin_size_y</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int </td>
+ <td class="paramname"><em>grid_size_y</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">float </td>
+ <td class="paramname"><em>region_end_y</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int </td>
+ <td class="paramname"><em>pz</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> & </td>
+ <td class="paramname"><em>out_qinfo</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>Average pooling over an aligned window. </p>
+
+<p class="definition">Definition at line <a class="el" href="_n_e_r_o_i_align_layer_kernel_8cpp_source.xhtml#l00204">204</a> of file <a class="el" href="_n_e_r_o_i_align_layer_kernel_8cpp_source.xhtml">NEROIAlignLayerKernel.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00216"></a><span class="lineno"> 216</span> {</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="keywordflow">if</span>((region_end_x <= region_start_x) || (region_end_y <= region_start_y))</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="keywordflow">return</span> input_data_type(out_qinfo.uniform().offset);</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">else</span></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="keywordtype">float</span> avg = 0;</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keyword">const</span> UniformQuantizationInfo input_qinfo = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>->info()->quantization_info().uniform();</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <span class="comment">// Iterate through the aligned pooling region</span></div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <span class="keywordflow">for</span>(<span class="keywordtype">int</span> iy = 0; iy < grid_size_y; ++iy)</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">for</span>(<span class="keywordtype">int</span> ix = 0; ix < grid_size_x; ++ix)</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="comment">// Align the window in the middle of every bin</span></div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <span class="keywordtype">float</span> y = region_start_y + (iy + 0.5) * bin_size_y / float(grid_size_y);</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="keywordtype">float</span> x = region_start_x + (ix + 0.5) * bin_size_x / float(grid_size_x);</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <span class="comment">// Interpolation in the [0,0] [0,1] [1,0] [1,1] square</span></div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> y_low = y;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> x_low = x;</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> y_high = y_low + 1;</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> x_high = x_low + 1;</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="keyword">const</span> <span class="keywordtype">float</span> ly = y - y_low;</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> lx = x - x_low;</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> hy = 1. - ly;</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> hx = 1. - lx;</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="keyword">const</span> <span class="keywordtype">float</span> w1 = hy * hx;</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> w2 = hy * lx;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> w3 = ly * hx;</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> w4 = ly * lx;</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>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">data_layout</a> == DataLayout::NCHW)</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="keywordtype">float</span> data1 = <a class="code" href="helpers__asymm_8h.xhtml#afbec2094d42590b94e7eead93710411d">dequantize_qasymm8</a>(*reinterpret_cast<const input_data_type *>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>->ptr_to_element(Coordinates(x_low, y_low, pz, roi_batch))), input_qinfo);</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <span class="keywordtype">float</span> data2 = <a class="code" href="helpers__asymm_8h.xhtml#afbec2094d42590b94e7eead93710411d">dequantize_qasymm8</a>(*reinterpret_cast<const input_data_type *>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>->ptr_to_element(Coordinates(x_high, y_low, pz, roi_batch))), input_qinfo);</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <span class="keywordtype">float</span> data3 = <a class="code" href="helpers__asymm_8h.xhtml#afbec2094d42590b94e7eead93710411d">dequantize_qasymm8</a>(*reinterpret_cast<const input_data_type *>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>->ptr_to_element(Coordinates(x_low, y_high, pz, roi_batch))), input_qinfo);</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <span class="keywordtype">float</span> data4 = <a class="code" href="helpers__asymm_8h.xhtml#afbec2094d42590b94e7eead93710411d">dequantize_qasymm8</a>(*reinterpret_cast<const input_data_type *>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>->ptr_to_element(Coordinates(x_high, y_high, pz, roi_batch))), input_qinfo);</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  avg += w1 * data1 + w2 * data2 + w3 * data3 + w4 * data4;</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">else</span></div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  {</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <span class="keyword">const</span> <span class="keyword">auto</span> data1 = <a class="code" href="helpers__asymm_8h.xhtml#afbec2094d42590b94e7eead93710411d">dequantize_qasymm8</a>(*reinterpret_cast<const input_data_type *>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>->ptr_to_element(Coordinates(pz, x_low, y_low, roi_batch))), input_qinfo);</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <span class="keyword">const</span> <span class="keyword">auto</span> data2 = <a class="code" href="helpers__asymm_8h.xhtml#afbec2094d42590b94e7eead93710411d">dequantize_qasymm8</a>(*reinterpret_cast<const input_data_type *>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>->ptr_to_element(Coordinates(pz, x_high, y_low, roi_batch))), input_qinfo);</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keyword">const</span> <span class="keyword">auto</span> data3 = <a class="code" href="helpers__asymm_8h.xhtml#afbec2094d42590b94e7eead93710411d">dequantize_qasymm8</a>(*reinterpret_cast<const input_data_type *>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>->ptr_to_element(Coordinates(pz, x_low, y_high, roi_batch))), input_qinfo);</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="keyword">const</span> <span class="keyword">auto</span> data4 = <a class="code" href="helpers__asymm_8h.xhtml#afbec2094d42590b94e7eead93710411d">dequantize_qasymm8</a>(*reinterpret_cast<const input_data_type *>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>->ptr_to_element(Coordinates(pz, x_high, y_high, roi_batch))), input_qinfo);</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  avg += w1 * data1 + w2 * data2 + w3 * data3 + w4 * data4;</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  }</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  }</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  }</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>  avg /= grid_size_x * grid_size_y;</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <span class="keywordflow">return</span> <a class="code" href="helpers__asymm_8h.xhtml#a63aa8eb6ac2ac3782ffad43a96345f0a">quantize_qasymm8</a>(avg, out_qinfo);</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> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_acf5f12bbab64dd614bd8220c97fe484f"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">arm_compute::test::validation::data_layout</a></div><div class="ttdeci">const DataLayout data_layout</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00146">Im2Col.cpp:146</a></div></div>
+<div class="ttc" id="helpers__asymm_8h_xhtml_afbec2094d42590b94e7eead93710411d"><div class="ttname"><a href="helpers__asymm_8h.xhtml#afbec2094d42590b94e7eead93710411d">dequantize_qasymm8</a></div><div class="ttdeci">float dequantize_qasymm8(uchar input, float offset, float scale)</div><div class="ttdoc">Dequantize a scalar value from 8-bit asymmetric to floating-point.</div><div class="ttdef"><b>Definition:</b> <a href="helpers__asymm_8h_source.xhtml#l00062">helpers_asymm.h:62</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a8fcf2ddd9a1d58b1b280f5c0aed71845"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">arm_compute::test::validation::input</a></div><div class="ttdeci">auto input</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">LSTMLayerQuantized.cpp:487</a></div></div>
+<div class="ttc" id="helpers__asymm_8h_xhtml_a63aa8eb6ac2ac3782ffad43a96345f0a"><div class="ttname"><a href="helpers__asymm_8h.xhtml#a63aa8eb6ac2ac3782ffad43a96345f0a">quantize_qasymm8</a></div><div class="ttdeci">uchar quantize_qasymm8(float input, float offset, float scale)</div><div class="ttdoc">Quantize a floating-point scalar value to 8-bit asymmetric.</div><div class="ttdef"><b>Definition:</b> <a href="helpers__asymm_8h_source.xhtml#l00047">helpers_asymm.h:47</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00146">arm_compute::test::validation::data_layout</a>, <a class="el" href="_quantization_info_8h_source.xhtml#l00275">dequantize_qasymm8()</a>, <a class="el" href="_c_l_2_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">arm_compute::test::validation::input</a>, <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">NCHW</a>, <a class="el" href="_quantization_info_8h_source.xhtml#l00063">UniformQuantizationInfo::offset</a>, <a class="el" href="_quantization_info_8h_source.xhtml#l00216">quantize_qasymm8()</a>, and <a class="el" href="_quantization_info_8h_source.xhtml#l00146">QuantizationInfo::uniform()</a>.</p>
</div>
</div>
@@ -21840,18 +23130,69 @@
<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>
-<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> <span class="preprocessor">#ifdef __aarch64__</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keyword">asm</span>(<span class="stringliteral">"fcvtns %x[res], %s[value]"</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  : [res] <span class="stringliteral">"=r"</span>(rounded)</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  : [value] <span class="stringliteral">"w"</span>(x));</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#else // __aarch64__</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">"TO_NEAREST_EVEN rounding policy is not supported."</span>);</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#endif // __aarch64__</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keywordflow">break</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">default</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>  <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="l00065"></a><span class="lineno"> 65</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  }</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">return</span> rounded;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</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="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> <span class="preprocessor">#ifdef __aarch64__</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keyword">asm</span>(<span class="stringliteral">"fcvtns %x[res], %s[value]"</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  : [res] <span class="stringliteral">"=r"</span>(rounded)</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  : [value] <span class="stringliteral">"w"</span>(x));</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#else // __aarch64__</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"TO_NEAREST_EVEN rounding policy is not supported."</span>);</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#endif // __aarch64__</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keywordflow">break</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">default</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>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Unsupported rounding policy."</span>);</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  }</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">return</span> rounded;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span> }</div><div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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#l00317">PixelWiseMultiplication.cpp:317</a></div></div>
</div><!-- fragment -->
-<p class="reference">References <a class="el" href="_toolchain_support_8h_source.xhtml#l00287">arm_compute::support::cpp11::round()</a>, <a class="el" href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00317">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">References <a class="el" href="_toolchain_support_8h_source.xhtml#l00317">arm_compute::support::cpp11::round()</a>, <a class="el" href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00317">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="_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#l00095">pooling_layer_MxN_quantized_nchw()</a>, <a class="el" href="pooling__layer__quantized_8cl_source.xhtml#l00203">pooling_layer_MxN_quantized_nhwc()</a>, and <a class="el" href="roi__pooling__layer_8cl_source.xhtml#l00125">roi_pooling_layer()</a>.</p>
+<p class="reference">Referenced by <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#l00095">pooling_layer_MxN_quantized_nchw()</a>, <a class="el" href="pooling__layer__quantized_8cl_source.xhtml#l00203">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="a77e02c19b498c3ff4ee373b0825cfd19"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a77e02c19b498c3ff4ee373b0825cfd19">◆ </a></span>rounding_divide_by_pow2() <span class="overload">[1/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">int32x4_t rounding_divide_by_pow2 </td>
+ <td>(</td>
+ <td class="paramtype">int32x4_t </td>
+ <td class="paramname"><em>x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int32x4_t </td>
+ <td class="paramname"><em>exponent</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Round to the nearest division by a power-of-two using exponent. </p>
+<dl class="section note"><dt>Note</dt><dd>This function calculates the following expression: (x + 2^n -1 ) / 2^n where n = exponent</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td><a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information.">Vector</a> of 4 elements </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">exponent</td><td><a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information.">Vector</a> of 4 elements with integer value used to round to nearest division by a power-of-two</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the nearest division by a power-of-two using exponent </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00297">297</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
+<div class="fragment"><div class="line"><a name="l00298"></a><span class="lineno"> 298</span> {</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <span class="keyword">const</span> int32x4_t shift_vec = vnegq_s32(exponent);</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <span class="keyword">const</span> int32x4_t fixup = vshrq_n_s32(vandq_s32(x, shift_vec), 31);</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="keyword">const</span> int32x4_t fixed_up_x = vqaddq_s32(x, fixup);</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <span class="keywordflow">return</span> vrshlq_s32(fixed_up_x, shift_vec);</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span> }</div></div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="_n_e_asymm_8h_source.xhtml#l00064">finalize_quantization()</a>, <a class="el" href="_n_e_symm_8h_source.xhtml#l00051">finalize_quantization_int16()</a>, and <a class="el" href="_n_e_asymm_8h_source.xhtml#l00132">finalize_quantization_symm()</a>.</p>
</div>
</div>
<a id="a5e28a3911204ac952601f512c82b48f1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5e28a3911204ac952601f512c82b48f1">◆ </a></span>rounding_divide_by_pow2() <span class="overload">[1/2]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a5e28a3911204ac952601f512c82b48f1">◆ </a></span>rounding_divide_by_pow2() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -21895,14 +23236,12 @@
</dl>
<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_math_8inl_source.xhtml#l00294">294</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00295"></a><span class="lineno"> 295</span> {</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <span class="keyword">const</span> int32x4_t shift_vec = vdupq_n_s32(-exponent);</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <span class="keyword">const</span> int32x4_t fixup = vshrq_n_s32(vandq_s32(x, shift_vec), 31);</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <span class="keyword">const</span> int32x4_t fixed_up_x = vqaddq_s32(x, fixup);</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <span class="keywordflow">return</span> vrshlq_s32(fixed_up_x, shift_vec);</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span> }</div></div><!-- fragment -->
-<p class="reference">Referenced by <a class="el" href="_n_e_asymm_8h_source.xhtml#l00064">finalize_quantization()</a>, and <a class="el" href="_n_e_symm_8h_source.xhtml#l00051">finalize_quantization_int16()</a>.</p>
-
+<p class="definition">Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00305">305</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
+<div class="fragment"><div class="line"><a name="l00306"></a><span class="lineno"> 306</span> {</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <span class="keyword">const</span> int32x4_t shift_vec = vdupq_n_s32(-exponent);</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <span class="keyword">const</span> int32x4_t fixup = vshrq_n_s32(vandq_s32(x, shift_vec), 31);</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <span class="keyword">const</span> int32x4_t fixed_up_x = vqaddq_s32(x, fixup);</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  <span class="keywordflow">return</span> vrshlq_s32(fixed_up_x, shift_vec);</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="afe3908fe41d9f2559f4a9eab1997fe61"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afe3908fe41d9f2559f4a9eab1997fe61">◆ </a></span>rounding_divide_by_pow2() <span class="overload">[2/2]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#afe3908fe41d9f2559f4a9eab1997fe61">◆ </a></span>rounding_divide_by_pow2() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -21946,8 +23285,8 @@
</dl>
<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_math_8inl_source.xhtml#l00302">302</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00303"></a><span class="lineno"> 303</span> {</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <span class="keyword">const</span> int32_t mask = (1 << exponent) - 1;</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <span class="keyword">const</span> int32_t <a class="code" href="namespacearm__compute_1_1test_1_1validation_1_1reference.xhtml#a6cae310822a46019ba25a00ddb0f7e62">threshold</a> = (mask >> 1) + (x < 0 ? 1 : 0);</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <span class="keywordflow">return</span> (x >> exponent) + ((x & mask) > <a class="code" href="namespacearm__compute_1_1test_1_1validation_1_1reference.xhtml#a6cae310822a46019ba25a00ddb0f7e62">threshold</a> ? 1 : 0);</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_1_1reference_xhtml_a6cae310822a46019ba25a00ddb0f7e62"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation_1_1reference.xhtml#a6cae310822a46019ba25a00ddb0f7e62">arm_compute::test::validation::reference::threshold</a></div><div class="ttdeci">SimpleTensor< T > threshold(const SimpleTensor< T > &src, T threshold, T false_value, T true_value, ThresholdType type, T upper)</div><div class="ttdef"><b>Definition:</b> <a href="reference_2_threshold_8cpp_source.xhtml#l00035">Threshold.cpp:35</a></div></div>
+<p class="definition">Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00313">313</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
+<div class="fragment"><div class="line"><a name="l00314"></a><span class="lineno"> 314</span> {</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  <span class="keyword">const</span> int32_t mask = (1 << exponent) - 1;</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <span class="keyword">const</span> int32_t <a class="code" href="namespacearm__compute_1_1test_1_1validation_1_1reference.xhtml#a6cae310822a46019ba25a00ddb0f7e62">threshold</a> = (mask >> 1) + (x < 0 ? 1 : 0);</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  <span class="keywordflow">return</span> (x >> exponent) + ((x & mask) > <a class="code" href="namespacearm__compute_1_1test_1_1validation_1_1reference.xhtml#a6cae310822a46019ba25a00ddb0f7e62">threshold</a> ? 1 : 0);</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_1_1reference_xhtml_a6cae310822a46019ba25a00ddb0f7e62"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation_1_1reference.xhtml#a6cae310822a46019ba25a00ddb0f7e62">arm_compute::test::validation::reference::threshold</a></div><div class="ttdeci">SimpleTensor< T > threshold(const SimpleTensor< T > &src, T threshold, T false_value, T true_value, ThresholdType type, T upper)</div><div class="ttdef"><b>Definition:</b> <a href="reference_2_threshold_8cpp_source.xhtml#l00035">Threshold.cpp:35</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="reference_2_threshold_8cpp_source.xhtml#l00035">arm_compute::test::validation::reference::threshold()</a>.</p>
@@ -21992,17 +23331,18 @@
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_n_e_reverse_kernel_8cpp_source.xhtml#l00102">102</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="l00103"></a><span class="lineno"> 103</span> {</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordtype">int</span> axis_bit = 0;</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</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="l00106"></a><span class="lineno"> 106</span>  {</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keyword">const</span> <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="l00108"></a><span class="lineno"> 108</span>  axis_bit |= 1 << axis_i;</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="comment">// Check if we need a left-over loop for the y dimension</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</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="l00113"></a><span class="lineno"> 113</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> window_start_x = window.x().start();</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</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="l00115"></a><span class="lineno"> 115</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="l00116"></a><span class="lineno"> 116</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="l00117"></a><span class="lineno"> 117</span> </div><div class="line"><a name="l00118"></a><span class="lineno"> 118</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="l00119"></a><span class="lineno"> 119</span> </div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keywordflow">if</span>(left_over_loop_x)</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  {</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="comment">// Check if window_end_y_multiple_of is greater than window_start_y</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordflow">if</span>(window_end_x_multiple_of > window_start_x)</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>  <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="l00126"></a><span class="lineno"> 126</span>  }</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordflow">else</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>  <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="l00130"></a><span class="lineno"> 130</span>  }</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>  <span class="keywordflow">do</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>  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="l00136"></a><span class="lineno"> 136</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="l00137"></a><span class="lineno"> 137</span>  {</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</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="l00139"></a><span class="lineno"> 139</span> </div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="comment">// Reverse 0 axis</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordflow">if</span>(axis_bit & 0x1)</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>  in = <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#aa7a641703a9c98932d775d915bf7a3e5">wrapper::vrev64</a>(in);</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</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="l00145"></a><span class="lineno"> 145</span>  }</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="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="l00148"></a><span class="lineno"> 148</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="l00149"></a><span class="lineno"> 149</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="l00150"></a><span class="lineno"> 150</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="l00151"></a><span class="lineno"> 151</span> </div><div class="line"><a name="l00152"></a><span class="lineno"> 152</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="l00153"></a><span class="lineno"> 153</span>  <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#ae7943ea9c1f74dc72c62d4cc3966a459">wrapper::vstore</a>(out_ptr, in);</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>  input_it);</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keywordflow">if</span>(left_over_loop_x)</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>  <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="l00160"></a><span class="lineno"> 160</span> </div><div class="line"><a name="l00161"></a><span class="lineno"> 161</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="l00162"></a><span class="lineno"> 162</span> </div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="comment">// Compute left-over elements along the y dimension (1x1)</span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</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="l00165"></a><span class="lineno"> 165</span>  {</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keyword">const</span> <span class="keyword">auto</span> in = *reinterpret_cast<T *>(input_it.ptr());</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">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="l00169"></a><span class="lineno"> 169</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="l00170"></a><span class="lineno"> 170</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="l00171"></a><span class="lineno"> 171</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="l00172"></a><span class="lineno"> 172</span> </div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  *reinterpret_cast<T *>(output->ptr_to_element(Coordinates(offset_x, offset_y, offset_z, offset_w))) = in;</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>  input_it);</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> </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">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="l00180"></a><span class="lineno"> 180</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="fragment"><div class="line"><a name="l00103"></a><span class="lineno"> 103</span> {</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordtype">int</span> axis_bit = 0;</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</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="l00106"></a><span class="lineno"> 106</span>  {</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keyword">const</span> <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="l00108"></a><span class="lineno"> 108</span>  axis_bit |= 1 << axis_i;</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="comment">// Check if we need a left-over loop for the y dimension</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> window_step_x = 16 / <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>->info()->element_size();</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> window_start_x = window.x().start();</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> window_end_x = std::min(window.x().end(), static_cast<int>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>->info()->dimension(0)));</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_multiple_of = ((window_end_x - window_start_x) / window_step_x) * window_step_x;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</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="l00117"></a><span class="lineno"> 117</span> </div><div class="line"><a name="l00118"></a><span class="lineno"> 118</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="l00119"></a><span class="lineno"> 119</span> </div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keywordflow">if</span>(left_over_loop_x)</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  {</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="comment">// Check if window_end_y_multiple_of is greater than window_start_y</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordflow">if</span>(window_end_x_multiple_of > window_start_x)</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>  <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="l00126"></a><span class="lineno"> 126</span>  }</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordflow">else</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>  <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="l00130"></a><span class="lineno"> 130</span>  }</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>  <span class="keywordflow">do</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>  Iterator input_it(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation_1_1reference.xhtml#a548131b3d37da47a2e9d32111c88dfe1">slice</a>);</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</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="l00137"></a><span class="lineno"> 137</span>  {</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</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="l00139"></a><span class="lineno"> 139</span> </div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="comment">// Reverse 0 axis</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordflow">if</span>(axis_bit & 0x1)</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>  in = <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#aa7a641703a9c98932d775d915bf7a3e5">wrapper::vrev64</a>(in);</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</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="l00145"></a><span class="lineno"> 145</span>  }</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="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="l00148"></a><span class="lineno"> 148</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="l00149"></a><span class="lineno"> 149</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="l00150"></a><span class="lineno"> 150</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="l00151"></a><span class="lineno"> 151</span> </div><div class="line"><a name="l00152"></a><span class="lineno"> 152</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="l00153"></a><span class="lineno"> 153</span>  <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#ae7943ea9c1f74dc72c62d4cc3966a459">wrapper::vstore</a>(out_ptr, in);</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>  input_it);</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keywordflow">if</span>(left_over_loop_x)</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>  <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="l00160"></a><span class="lineno"> 160</span> </div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  Iterator input_it(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation_1_1reference.xhtml#a548131b3d37da47a2e9d32111c88dfe1">slice</a>);</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="comment">// Compute left-over elements along the y dimension (1x1)</span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</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="l00165"></a><span class="lineno"> 165</span>  {</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keyword">const</span> <span class="keyword">auto</span> in = *reinterpret_cast<T *>(input_it.ptr());</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">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="l00169"></a><span class="lineno"> 169</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="l00170"></a><span class="lineno"> 170</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="l00171"></a><span class="lineno"> 171</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="l00172"></a><span class="lineno"> 172</span> </div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  *reinterpret_cast<T *>(output->ptr_to_element(Coordinates(offset_x, offset_y, offset_z, offset_w))) = in;</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>  input_it);</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> </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">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="l00180"></a><span class="lineno"> 180</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_1test_1_1validation_xhtml_a8fcf2ddd9a1d58b1b280f5c0aed71845"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">arm_compute::test::validation::input</a></div><div class="ttdeci">auto input</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">LSTMLayerQuantized.cpp:487</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_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#l00123">Helpers.inl:123</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#l00097">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#l00283">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#l00331">Window::slide_window_slice_4D()</a>, <a class="el" href="_window_8h_source.xhtml#l00092">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#l00143">Window::x()</a>.</p>
+<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="_window_8h_source.xhtml#l00097">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00123">execute_window_loop()</a>, <a class="el" href="_window_8h_source.xhtml#l00297">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="_c_l_2_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">arm_compute::test::validation::input</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00185">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#l00345">Window::slide_window_slice_4D()</a>, <a class="el" href="_window_8h_source.xhtml#l00092">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#l00143">Window::x()</a>.</p>
</div>
</div>
@@ -22070,20 +23410,121 @@
</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#l00387">387</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="l00391"></a><span class="lineno"> 391</span> {</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <span class="keyword">const</span> <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="l00393"></a><span class="lineno"> 393</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="l00394"></a><span class="lineno"> 394</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="l00395"></a><span class="lineno"> 395</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="l00396"></a><span class="lineno"> 396</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="l00397"></a><span class="lineno"> 397</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="l00398"></a><span class="lineno"> 398</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a1a367830ae09bf6138df822888ec1d71">w</a> = 0;</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> h = 0;</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</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="l00401"></a><span class="lineno"> 401</span>  {</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  <span class="keywordflow">case</span> DimensionRoundingType::FLOOR:</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a1a367830ae09bf6138df822888ec1d71">w</a> = 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="l00404"></a><span class="lineno"> 404</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="l00405"></a><span class="lineno"> 405</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  <span class="keywordflow">case</span> DimensionRoundingType::CEIL:</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a1a367830ae09bf6138df822888ec1d71">w</a> = 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="l00408"></a><span class="lineno"> 408</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="l00409"></a><span class="lineno"> 409</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</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="l00412"></a><span class="lineno"> 412</span>  }</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span> </div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  <span class="keywordflow">return</span> std::make_pair(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a1a367830ae09bf6138df822888ec1d71">w</a>, h);</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</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_a1a367830ae09bf6138df822888ec1d71"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a1a367830ae09bf6138df822888ec1d71">arm_compute::test::validation::w</a></div><div class="ttdeci">SimpleTensor< float > w</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_2_d_f_t_8cpp_source.xhtml#l00156">DFT.cpp:156</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#l00771">Types.h:771</a></div></div>
+<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00402">402</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="l00406"></a><span class="lineno"> 406</span> {</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</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="l00408"></a><span class="lineno"> 408</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="l00409"></a><span class="lineno"> 409</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="l00410"></a><span class="lineno"> 410</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="l00411"></a><span class="lineno"> 411</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="l00412"></a><span class="lineno"> 412</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="l00413"></a><span class="lineno"> 413</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a1a367830ae09bf6138df822888ec1d71">w</a> = 0;</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> h = 0;</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</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="l00416"></a><span class="lineno"> 416</span>  {</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  <span class="keywordflow">case</span> DimensionRoundingType::FLOOR:</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a1a367830ae09bf6138df822888ec1d71">w</a> = 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="l00419"></a><span class="lineno"> 419</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="l00420"></a><span class="lineno"> 420</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  <span class="keywordflow">case</span> DimensionRoundingType::CEIL:</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a1a367830ae09bf6138df822888ec1d71">w</a> = 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="l00423"></a><span class="lineno"> 423</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="l00424"></a><span class="lineno"> 424</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Unsupported rounding type"</span>);</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  }</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span> </div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  <span class="keywordflow">return</span> std::make_pair(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a1a367830ae09bf6138df822888ec1d71">w</a>, h);</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a1a367830ae09bf6138df822888ec1d71"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a1a367830ae09bf6138df822888ec1d71">arm_compute::test::validation::w</a></div><div class="ttdeci">SimpleTensor< float > w</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_2_d_f_t_8cpp_source.xhtml#l00156">DFT.cpp:156</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="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="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#l00760">Types.h:760</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#l00724">Types.h:724</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#l00755">Types.h:755</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#l00765">Types.h:765</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#l00750">Types.h:750</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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_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>
</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#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#l00765">PadStrideInfo::pad_bottom()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00750">PadStrideInfo::pad_left()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00755">PadStrideInfo::pad_right()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00760">PadStrideInfo::pad_top()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00771">PadStrideInfo::round()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00724">PadStrideInfo::stride()</a>, and <a class="el" href="_c_p_p_2_d_f_t_8cpp_source.xhtml#l00156">arm_compute::test::validation::w</a>.</p>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00352">ARM_COMPUTE_ERROR</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#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>, and <a class="el" href="_c_p_p_2_d_f_t_8cpp_source.xhtml#l00156">arm_compute::test::validation::w</a>.</p>
-<p class="reference">Referenced by <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00334">calculate_same_pad()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00702">arm_compute::misc::shape_calculator::compute_deep_convolution_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00410">arm_compute::misc::shape_calculator::compute_depthwise_convolution_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00513">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="_fused_convolution_batch_normalization_node_8cpp_source.xhtml#l00091">FusedConvolutionBatchNormalizationNode::compute_output_descriptor()</a>, <a class="el" href="_depthwise_convolution_layer_node_8cpp_source.xhtml#l00073">DepthwiseConvolutionLayerNode::compute_output_descriptor()</a>, <a class="el" href="_fused_depthwise_convolution_batch_normalization_node_8cpp_source.xhtml#l00081">FusedDepthwiseConvolutionBatchNormalizationNode::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#l00751">arm_compute::misc::shape_calculator::compute_pool_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00667">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#l00333">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#l00294">CLIm2ColKernel::configure()</a>, <a class="el" href="_n_e_im2_col_kernel_8cpp_source.xhtml#l00351">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#l00241">NEGEMMConvolutionLayer::configure()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00177">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#l01786">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#l00397">NEGEMMConvolutionLayer::validate()</a>, and <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00373">CLGEMMConvolutionLayer::validate()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00340">calculate_same_pad()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00702">arm_compute::misc::shape_calculator::compute_deep_convolution_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00410">arm_compute::misc::shape_calculator::compute_depthwise_convolution_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00513">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="_fused_convolution_batch_normalization_node_8cpp_source.xhtml#l00091">FusedConvolutionBatchNormalizationNode::compute_output_descriptor()</a>, <a class="el" href="_depthwise_convolution_layer_node_8cpp_source.xhtml#l00073">DepthwiseConvolutionLayerNode::compute_output_descriptor()</a>, <a class="el" href="_fused_depthwise_convolution_batch_normalization_node_8cpp_source.xhtml#l00081">FusedDepthwiseConvolutionBatchNormalizationNode::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#l00751">arm_compute::misc::shape_calculator::compute_pool_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00667">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#l00333">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#l00294">CLIm2ColKernel::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#l00235">NEGEMMConvolutionLayer::configure()</a>, <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00181">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#l01792">NEPoolingLayerKernel::validate()</a>, <a class="el" href="_n_e_locally_connected_layer_8cpp_source.xhtml#l00080">NELocallyConnectedLayer::validate()</a>, <a class="el" href="_c_l_locally_connected_layer_8cpp_source.xhtml#l00086">CLLocallyConnectedLayer::validate()</a>, <a class="el" href="_n_e_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00385">NEGEMMConvolutionLayer::validate()</a>, and <a class="el" href="_c_l_g_e_m_m_convolution_layer_8cpp_source.xhtml#l00400">CLGEMMConvolutionLayer::validate()</a>.</p>
+
+</div>
+</div>
+<a id="aad377315df05925a2c720f50a20917ba"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aad377315df05925a2c720f50a20917ba">◆ </a></span>schedule_kernel_on_ctx() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void schedule_kernel_on_ctx </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_runtime_context.xhtml">IRuntimeContext</a> * </td>
+ <td class="paramname"><em>ctx</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_c_p_p_kernel.xhtml">ICPPKernel</a> * </td>
+ <td class="paramname"><em>kernel</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_scheduler_1_1_hints.xhtml">IScheduler::Hints</a> & </td>
+ <td class="paramname"><em>hints</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Schedules a kernel using the context if not nullptr else uses the legacy scheduling flow. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Context to use. </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 schedule. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">hints</td><td>Hints to use. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+<p class="definition">Definition at line <a class="el" href="src_2runtime_2_utils_8cpp_source.xhtml#l00052">52</a> of file <a class="el" href="src_2runtime_2_utils_8cpp_source.xhtml">Utils.cpp</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">if</span>(ctx)</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>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(ctx->scheduler() == <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  ctx->scheduler()->schedule(kernel, hints);</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  }</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  {</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  NEScheduler::get().schedule(kernel, hints);</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="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#l00466">Error.h:466</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00466">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_scheduler_8cpp_source.xhtml#l00095">Scheduler::get()</a>, <a class="el" href="classarm__compute_1_1_i_scheduler.xhtml#a4e58f95544bd5ac6559a421671bd9842">IScheduler::schedule()</a>, and <a class="el" href="classarm__compute_1_1_i_runtime_context.xhtml#a5a8c9bfdfbdcdddc697f438ba2244620">IRuntimeContext::scheduler()</a>.</p>
+
+</div>
+</div>
+<a id="af4cf1da2467d59160492d2095c66ea26"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af4cf1da2467d59160492d2095c66ea26">◆ </a></span>schedule_kernel_on_ctx() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void schedule_kernel_on_ctx </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarm__compute_1_1_c_l_runtime_context.xhtml">CLRuntimeContext</a> * </td>
+ <td class="paramname"><em>ctx</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_c_l_kernel.xhtml">ICLKernel</a> * </td>
+ <td class="paramname"><em>kernel</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool </td>
+ <td class="paramname"><em>flush</em> = <code>true</code> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Schedules a kernel using the context if not nullptr else uses the legacy scheduling flow. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Context to use. </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 schedule. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">flush</td><td>(Optional) Specifies if the command queue will be flushed after running the kernel. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+<p class="definition">Definition at line <a class="el" href="runtime_2_c_l_2_c_l_helpers_8cpp_source.xhtml#l00108">108</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="l00109"></a><span class="lineno"> 109</span> {</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <a class="code" href="_validate_8h.xhtml#a921b705e9e3e0fe928928447869e62a5">ARM_COMPUTE_ERROR_ON_NULLPTR</a>(kernel);</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="keywordflow">if</span>(ctx)</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>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(ctx->gpu_scheduler() == <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  ctx->gpu_scheduler()->enqueue(*kernel, flush);</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  }</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordflow">else</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>  CLScheduler::get().enqueue(*kernel, flush);</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_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#l00466">Error.h:466</a></div></div>
+<div class="ttc" id="_validate_8h_xhtml_a921b705e9e3e0fe928928447869e62a5"><div class="ttname"><a href="_validate_8h.xhtml#a921b705e9e3e0fe928928447869e62a5">ARM_COMPUTE_ERROR_ON_NULLPTR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_NULLPTR(...)</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00161">Validate.h:161</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00466">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_validate_8h_source.xhtml#l00161">ARM_COMPUTE_ERROR_ON_NULLPTR</a>, <a class="el" href="_c_l_scheduler_8cpp_source.xhtml#l00154">CLScheduler::enqueue()</a>, <a class="el" href="_c_l_scheduler_8cpp_source.xhtml#l00099">CLScheduler::get()</a>, and <a class="el" href="_c_l_runtime_context_8cpp_source.xhtml#l00062">CLRuntimeContext::gpu_scheduler()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_i_n_e_simple_function_no_border_8cpp_source.xhtml#l00037">INESimpleFunctionNoBorder::run()</a>, and <a class="el" href="_i_c_l_simple_function_8cpp_source.xhtml#l00039">ICLSimpleFunction::run()</a>.</p>
</div>
</div>
@@ -22145,8 +23586,8 @@
</dl>
<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#l00577">577</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="l00578"></a><span class="lineno"> 578</span> {</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>  int32_t min_col = -1;</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>  int16_t min_col_val = -1;</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span> </div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>  <span class="keywordflow">for</span>(int32_t i = 0; i < size; ++i)</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>  {</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>  <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a006546051719c5fb4b20c966a26b9c76">conv</a>[i] != 0 && (min_col < 0 || abs(min_col_val) > abs(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a006546051719c5fb4b20c966a26b9c76">conv</a>[i])))</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>  min_col = i;</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>  min_col_val = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a006546051719c5fb4b20c966a26b9c76">conv</a>[i];</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>  }</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">if</span>(min_col < 0)</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">return</span> <span class="keyword">false</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="line"><a name="l00596"></a><span class="lineno"> 596</span>  <span class="keywordflow">for</span>(uint32_t j = 0; j < size; ++j)</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>  conv_col[j] = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a006546051719c5fb4b20c966a26b9c76">conv</a>[min_col + j * size];</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>  }</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span> </div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>  <span class="keywordflow">for</span>(uint32_t i = 0; i < size; i++)</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>(static_cast<int>(i) == min_col)</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>  conv_row[i] = 1;</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>  <span class="keywordflow">else</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>  int16_t coeff = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a006546051719c5fb4b20c966a26b9c76">conv</a>[i] / <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a006546051719c5fb4b20c966a26b9c76">conv</a>[min_col];</div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span> </div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>  <span class="keywordflow">for</span>(uint32_t j = 1; j < size; ++j)</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">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a006546051719c5fb4b20c966a26b9c76">conv</a>[i + j * size] != (conv_col[j] * coeff))</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>  {</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>  }</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>  }</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>  conv_row[i] = coeff;</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>  }</div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span> </div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a006546051719c5fb4b20c966a26b9c76"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a006546051719c5fb4b20c966a26b9c76">arm_compute::test::validation::conv</a></div><div class="ttdeci">std::array< int16_t, 25 > conv</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>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00583">583</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="l00584"></a><span class="lineno"> 584</span> {</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>  int32_t min_col = -1;</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>  int16_t min_col_val = -1;</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span> </div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>  <span class="keywordflow">for</span>(int32_t i = 0; i < size; ++i)</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>  {</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>  <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a006546051719c5fb4b20c966a26b9c76">conv</a>[i] != 0 && (min_col < 0 || abs(min_col_val) > abs(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a006546051719c5fb4b20c966a26b9c76">conv</a>[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>  min_col = i;</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>  min_col_val = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a006546051719c5fb4b20c966a26b9c76">conv</a>[i];</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="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">if</span>(min_col < 0)</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>  {</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</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> </div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>  <span class="keywordflow">for</span>(uint32_t j = 0; j < size; ++j)</div><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>  conv_col[j] = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a006546051719c5fb4b20c966a26b9c76">conv</a>[min_col + j * size];</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</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>  <span class="keywordflow">for</span>(uint32_t i = 0; i < size; i++)</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>  <span class="keywordflow">if</span>(static_cast<int>(i) == min_col)</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>  conv_row[i] = 1;</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">else</span></div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>  {</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>  int16_t coeff = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a006546051719c5fb4b20c966a26b9c76">conv</a>[i] / <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a006546051719c5fb4b20c966a26b9c76">conv</a>[min_col];</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span> </div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>  <span class="keywordflow">for</span>(uint32_t j = 1; j < size; ++j)</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>  {</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>  <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a006546051719c5fb4b20c966a26b9c76">conv</a>[i + j * size] != (conv_col[j] * coeff))</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="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>  }</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>  }</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span> </div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>  conv_row[i] = coeff;</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>  }</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span> </div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a006546051719c5fb4b20c966a26b9c76"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a006546051719c5fb4b20c966a26b9c76">arm_compute::test::validation::conv</a></div><div class="ttdeci">std::array< int16_t, 25 > conv</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>
@@ -22198,8 +23639,8 @@
</dl>
<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>
-<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(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">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_acf5f12bbab64dd614bd8220c97fe484f"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">arm_compute::test::validation::data_layout</a></div><div class="ttdeci">const DataLayout data_layout</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00146">Im2Col.cpp:146</a></div></div>
+<p class="definition">Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00268">268</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
+<div class="fragment"><div class="line"><a name="l00269"></a><span class="lineno"> 269</span> {</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.data_layout() == DataLayout::UNKNOWN)</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  {</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.set_data_layout(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">data_layout</a>);</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  }</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_acf5f12bbab64dd614bd8220c97fe484f"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">arm_compute::test::validation::data_layout</a></div><div class="ttdeci">const DataLayout data_layout</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00146">Im2Col.cpp:146</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="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00146">arm_compute::test::validation::data_layout</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>
@@ -22250,8 +23691,8 @@
</dl>
<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>
-<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#a5f5b6c4337eac9e2e0046ca2304d80dc">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_a5f5b6c4337eac9e2e0046ca2304d80dc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a5f5b6c4337eac9e2e0046ca2304d80dc">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_addition_8cpp_source.xhtml#l00135">ArithmeticAddition.cpp:135</a></div></div>
+<p class="definition">Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00257">257</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
+<div class="fragment"><div class="line"><a name="l00258"></a><span class="lineno"> 258</span> {</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.data_type() == DataType::UNKNOWN)</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  {</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.set_data_type(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a5f5b6c4337eac9e2e0046ca2304d80dc">data_type</a>);</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  }</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span> </div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a5f5b6c4337eac9e2e0046ca2304d80dc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a5f5b6c4337eac9e2e0046ca2304d80dc">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_addition_8cpp_source.xhtml#l00135">ArithmeticAddition.cpp:135</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="_c_l_2_arithmetic_addition_8cpp_source.xhtml#l00135">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>
@@ -22302,8 +23743,8 @@
</dl>
<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>
-<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>
+<p class="definition">Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00246">246</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
+<div class="fragment"><div class="line"><a name="l00247"></a><span class="lineno"> 247</span> {</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.data_type() == DataType::UNKNOWN)</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  {</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.set_format(format);</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  }</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_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>
@@ -22355,11 +23796,11 @@
</dl>
<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>
-<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#l01030">Utils.h:1030</a></div></div>
+<p class="definition">Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00279">279</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
+<div class="fragment"><div class="line"><a name="l00280"></a><span class="lineno"> 280</span> {</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#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="l00282"></a><span class="lineno"> 282</span>  {</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.set_quantization_info(quantization_info);</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  }</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span> }</div><div class="ttc" id="namespacearm__compute_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#l01044">Utils.h:1044</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#l01030">is_data_type_quantized_asymmetric()</a>.</p>
+<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#l01044">is_data_type_quantized_asymmetric()</a>.</p>
</div>
</div>
@@ -22407,13 +23848,13 @@
</dl>
<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>
-<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>
+<p class="definition">Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00235">235</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
+<div class="fragment"><div class="line"><a name="l00236"></a><span class="lineno"> 236</span> {</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.tensor_shape().total_size() == 0)</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  {</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#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="l00240"></a><span class="lineno"> 240</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  }</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_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#l00119">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#l00104">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>
+<p class="reference">Referenced by <a class="el" href="_n_e_box3x3_kernel_8cpp_source.xhtml#l00119">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#l00074">CLDepthConvertLayerKernel::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#l00107">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>
@@ -22526,11 +23967,11 @@
</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#l00170">170</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="l00171"></a><span class="lineno"> 171</span> {</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="keyword">static</span> std::map<ActivationLayerInfo::ActivationFunction, const std::string> act_map =</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>  { ActivationLayerInfo::ActivationFunction::ABS, <span class="stringliteral">"ABS"</span> },</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  { ActivationLayerInfo::ActivationFunction::LINEAR, <span class="stringliteral">"LINEAR"</span> },</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  { ActivationLayerInfo::ActivationFunction::LOGISTIC, <span class="stringliteral">"LOGISTIC"</span> },</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  { ActivationLayerInfo::ActivationFunction::RELU, <span class="stringliteral">"RELU"</span> },</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  { ActivationLayerInfo::ActivationFunction::BOUNDED_RELU, <span class="stringliteral">"BRELU"</span> },</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  { ActivationLayerInfo::ActivationFunction::LU_BOUNDED_RELU, <span class="stringliteral">"LU_BRELU"</span> },</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  { ActivationLayerInfo::ActivationFunction::LEAKY_RELU, <span class="stringliteral">"LRELU"</span> },</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  { ActivationLayerInfo::ActivationFunction::SOFT_RELU, <span class="stringliteral">"SRELU"</span> },</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  { ActivationLayerInfo::ActivationFunction::SQRT, <span class="stringliteral">"SQRT"</span> },</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  { ActivationLayerInfo::ActivationFunction::SQUARE, <span class="stringliteral">"SQUARE"</span> },</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  { ActivationLayerInfo::ActivationFunction::TANH, <span class="stringliteral">"TANH"</span> },</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  { ActivationLayerInfo::ActivationFunction::IDENTITY, <span class="stringliteral">"IDENTITY"</span> },</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  };</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="keywordflow">return</span> act_map[act];</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</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#a56297e0f7b215eea46c818cb7528d9eaad8156d3c6735d75d8a1b8dedd0e79c8b">ActivationLayerInfo::IDENTITY</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="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00172">172</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="l00173"></a><span class="lineno"> 173</span> {</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="keyword">static</span> std::map<ActivationLayerInfo::ActivationFunction, const std::string> act_map =</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>  { ActivationLayerInfo::ActivationFunction::ABS, <span class="stringliteral">"ABS"</span> },</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  { ActivationLayerInfo::ActivationFunction::LINEAR, <span class="stringliteral">"LINEAR"</span> },</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  { ActivationLayerInfo::ActivationFunction::LOGISTIC, <span class="stringliteral">"LOGISTIC"</span> },</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  { ActivationLayerInfo::ActivationFunction::RELU, <span class="stringliteral">"RELU"</span> },</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  { ActivationLayerInfo::ActivationFunction::BOUNDED_RELU, <span class="stringliteral">"BRELU"</span> },</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  { ActivationLayerInfo::ActivationFunction::LU_BOUNDED_RELU, <span class="stringliteral">"LU_BRELU"</span> },</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  { ActivationLayerInfo::ActivationFunction::LEAKY_RELU, <span class="stringliteral">"LRELU"</span> },</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  { ActivationLayerInfo::ActivationFunction::SOFT_RELU, <span class="stringliteral">"SRELU"</span> },</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  { ActivationLayerInfo::ActivationFunction::ELU, <span class="stringliteral">"ELU"</span> },</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  { ActivationLayerInfo::ActivationFunction::SQRT, <span class="stringliteral">"SQRT"</span> },</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  { ActivationLayerInfo::ActivationFunction::SQUARE, <span class="stringliteral">"SQUARE"</span> },</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  { ActivationLayerInfo::ActivationFunction::TANH, <span class="stringliteral">"TANH"</span> },</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  { ActivationLayerInfo::ActivationFunction::IDENTITY, <span class="stringliteral">"IDENTITY"</span> },</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> </div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="keywordflow">return</span> act_map[act];</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</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#a56297e0f7b215eea46c818cb7528d9eaa5b44c930bf0ddeef48b50ef11e5ddd58">ActivationLayerInfo::ELU</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaad8156d3c6735d75d8a1b8dedd0e79c8b">ActivationLayerInfo::IDENTITY</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#l00227">CLDepthwiseConvolutionLayer3x3NCHWKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00178">CLDepthwiseConvolutionLayer3x3NHWCKernel::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#l00119">CLActivationLayerKernel::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_native_kernel_8cpp_source.xhtml#l00212">CLGEMMMatrixMultiplyNativeKernel::configure()</a>, <a class="el" href="_c_l_batch_normalization_layer_kernel_8cpp_source.xhtml#l00139">CLBatchNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_reshaped_only_r_h_s_kernel_8cpp_source.xhtml#l00215">CLGEMMMatrixMultiplyReshapedOnlyRHSKernel::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#l00305">CLGEMMMatrixMultiplyKernel::configure()</a>, and <a class="el" href="_c_l_g_e_m_m_matrix_multiply_reshaped_kernel_8cpp_source.xhtml#l00214">CLGEMMMatrixMultiplyReshapedKernel::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#l00243">CLDepthwiseConvolutionLayer3x3NCHWKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00197">CLDepthwiseConvolutionLayer3x3NHWCKernel::configure()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00119">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="_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_native_kernel_8cpp_source.xhtml#l00213">CLGEMMMatrixMultiplyNativeKernel::configure()</a>, <a class="el" href="_c_l_batch_normalization_layer_kernel_8cpp_source.xhtml#l00139">CLBatchNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_native_kernel_8cpp_source.xhtml#l00180">CLDepthwiseConvolutionLayerNativeKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_reshaped_only_r_h_s_kernel_8cpp_source.xhtml#l00216">CLGEMMMatrixMultiplyReshapedOnlyRHSKernel::configure()</a>, <a class="el" href="_c_l_winograd_output_transform_kernel_8cpp_source.xhtml#l00138">CLWinogradOutputTransformKernel::configure()</a>, and <a class="el" href="_c_l_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00305">CLGEMMMatrixMultiplyKernel::configure()</a>.</p>
</div>
</div>
@@ -22559,8 +24000,8 @@
</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#l00228">228</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="l00229"></a><span class="lineno"> 229</span> {</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <span class="keyword">static</span> std::map<BorderMode, const std::string> border_mode_map =</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>  { BorderMode::UNDEFINED, <span class="stringliteral">"UNDEFINED"</span> },</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  { BorderMode::CONSTANT, <span class="stringliteral">"CONSTANT"</span> },</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  { BorderMode::REPLICATE, <span class="stringliteral">"REPLICATE"</span> },</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  };</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div><div class="line"><a name="l00237"></a><span class="lineno"> 237</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="l00238"></a><span class="lineno"> 238</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>
+<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>
+<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<BorderMode, const std::string> border_mode_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>  { BorderMode::UNDEFINED, <span class="stringliteral">"UNDEFINED"</span> },</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  { BorderMode::CONSTANT, <span class="stringliteral">"CONSTANT"</span> },</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  { BorderMode::REPLICATE, <span class="stringliteral">"REPLICATE"</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> border_mode_map[<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a5471e46933e7a9c4709972d91fc4ea65">border_mode</a>];</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_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#a14d24d90ab4ba2956e92e27890ba4c91a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>, <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a>, and <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">UNDEFINED</a>.</p>
@@ -22631,7 +24072,7 @@
<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#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_space_to_depth_layer_kernel_8cpp_source.xhtml#l00067">CLSpaceToDepthLayerKernel::configure()</a>, <a class="el" href="_c_l_depth_to_space_layer_kernel_8cpp_source.xhtml#l00066">CLDepthToSpaceLayerKernel::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="_c_l_space_to_batch_layer_kernel_8cpp_source.xhtml#l00090">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_depthwise_convolution_layer_reshape_weights_generic_kernel_8cpp_source.xhtml#l00070">CLDepthwiseConvolutionLayerReshapeWeightsGenericKernel::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#l00184">CLPoolingLayerKernel::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="_c_l_depthwise_im2_col_kernel_8cpp_source.xhtml#l00066">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_direct_convolution_output_stage_kernel_8cpp_source.xhtml#l00129">CLDirectConvolutionLayerOutputStageKernel::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#l00139">CLBatchNormalizationLayerKernel::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_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00422">NEFuseBatchNormalizationKernel::configure()</a>, <a class="el" href="_c_l_deconvolution_reshape_output_kernel_8cpp_source.xhtml#l00120">CLDeconvolutionReshapeOutputKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00389">CLDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_c_l_im2_col_kernel_8cpp_source.xhtml#l00294">CLIm2ColKernel::configure()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00708">error_on_data_layout_not_in()</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#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_space_to_depth_layer_kernel_8cpp_source.xhtml#l00067">CLSpaceToDepthLayerKernel::configure()</a>, <a class="el" href="_c_l_normalization_layer_kernel_8cpp_source.xhtml#l00107">CLNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_depth_to_space_layer_kernel_8cpp_source.xhtml#l00066">CLDepthToSpaceLayerKernel::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_space_to_batch_layer_kernel_8cpp_source.xhtml#l00090">CLSpaceToBatchLayerKernel::configure()</a>, <a class="el" href="_c_l_comparison_kernel_8cpp_source.xhtml#l00113">CLComparisonKernel::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#l00184">CLPoolingLayerKernel::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#l00139">CLBatchNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_winograd_output_transform_kernel_8cpp_source.xhtml#l00138">CLWinogradOutputTransformKernel::configure()</a>, <a class="el" href="_n_e_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00422">NEFuseBatchNormalizationKernel::configure()</a>, <a class="el" href="_c_l_deconvolution_reshape_output_kernel_8cpp_source.xhtml#l00115">CLDeconvolutionReshapeOutputKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00412">CLDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_c_l_im2_col_kernel_8cpp_source.xhtml#l00294">CLIm2ColKernel::configure()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00709">error_on_data_layout_not_in()</a>.</p>
</div>
</div>
@@ -22661,10 +24102,10 @@
<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#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::QSYMM8, <span class="stringliteral">"QSYMM8"</span> },</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  { DataType::QSYMM8_PER_CHANNEL, <span class="stringliteral">"QSYMM8_PER_CHANNEL"</span> },</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  { DataType::QASYMM8, <span class="stringliteral">"QASYMM8"</span> },</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  { DataType::QSYMM16, <span class="stringliteral">"QSYMM16"</span> },</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> </div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="keywordflow">return</span> dt_map[dt];</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</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#ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6">QSYMM16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c">QSYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a34f500e941c4df30b870126ec868ebd5">QSYMM8_PER_CHANNEL</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="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::QSYMM8, <span class="stringliteral">"QSYMM8"</span> },</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  { DataType::QSYMM8_PER_CHANNEL, <span class="stringliteral">"QSYMM8_PER_CHANNEL"</span> },</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  { DataType::QASYMM8, <span class="stringliteral">"QASYMM8"</span> },</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  { DataType::QASYMM8_SIGNED, <span class="stringliteral">"QASYMM8_SIGNED"</span> },</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  { DataType::QSYMM16, <span class="stringliteral">"QSYMM16"</span> },</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  { DataType::QASYMM16, <span class="stringliteral">"QASYMM16"</span> },</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="keywordflow">return</span> dt_map[dt];</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</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#ad8ed01ff3ff33333d8e19db4d2818bb6a3b989c6b5398b3b9538ad103a324205e">QASYMM16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a329f5d0c4b0c80e3474951d2c4435dd9">QASYMM8_SIGNED</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a3ca8a4ea8f992df3b462bc7b24d097c6">QSYMM16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a5f007421a4becd11c0666c2058b0b36c">QSYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a34f500e941c4df30b870126ec868ebd5">QSYMM8_PER_CHANNEL</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_integral_image_kernel_8cpp_source.xhtml#l00039">CLIntegralImageHorKernel::configure()</a>, <a class="el" href="_c_l_median3x3_kernel_8cpp_source.xhtml#l00039">CLMedian3x3Kernel::configure()</a>, <a class="el" href="_c_l_warp_affine_kernel_8cpp_source.xhtml#l00061">CLWarpAffineKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_c_h_w_kernel_8cpp_source.xhtml#l00227">CLDepthwiseConvolutionLayer3x3NCHWKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00178">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_gaussian_pyramid_kernel_8cpp_source.xhtml#l00044">CLGaussianPyramidHorKernel::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_normalization_layer_kernel_8cpp_source.xhtml#l00107">CLNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00040">CLGradientKernel::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_depth_convert_layer_kernel_8cpp_source.xhtml#l00073">CLDepthConvertLayerKernel::configure()</a>, <a class="el" href="_c_l_derivative_kernel_8cpp_source.xhtml#l00050">CLDerivativeKernel::configure()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00119">CLActivationLayerKernel::configure()</a>, <a class="el" href="_c_l_comparison_kernel_8cpp_source.xhtml#l00113">CLComparisonKernel::configure()</a>, <a class="el" href="_c_l_f_f_t_scale_kernel_8cpp_source.xhtml#l00078">CLFFTScaleKernel::configure()</a>, <a class="el" href="_c_l_mean_std_dev_normalization_kernel_8cpp_source.xhtml#l00085">CLMeanStdDevNormalizationKernel::configure()</a>, <a class="el" href="_c_l_sobel3x3_kernel_8cpp_source.xhtml#l00050">CLSobel3x3Kernel::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_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00048">CLHOGOrientationBinningKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate2_tensors_kernel_8cpp_source.xhtml#l00098">CLWidthConcatenate2TensorsKernel::configure()</a>, <a class="el" href="_c_l_f_f_t_digit_reverse_kernel_8cpp_source.xhtml#l00075">CLFFTDigitReverseKernel::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#l00184">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_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_width_concatenate4_tensors_kernel_8cpp_source.xhtml#l00116">CLWidthConcatenate4TensorsKernel::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_range_kernel_8cpp_source.xhtml#l00093">CLRangeKernel::configure()</a>, <a class="el" href="_c_l_f_f_t_radix_stage_kernel_8cpp_source.xhtml#l00085">CLFFTRadixStageKernel::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_integral_image_kernel_8cpp_source.xhtml#l00085">CLIntegralImageVertKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_native_kernel_8cpp_source.xhtml#l00212">CLGEMMMatrixMultiplyNativeKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_kernel_8cpp_source.xhtml#l00173">CLGEMMLowpMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_batch_normalization_layer_kernel_8cpp_source.xhtml#l00139">CLBatchNormalizationLayerKernel::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="_c_l_strided_slice_kernel_8cpp_source.xhtml#l00104">CLStridedSliceKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_reshaped_only_r_h_s_kernel_8cpp_source.xhtml#l00215">CLGEMMMatrixMultiplyReshapedOnlyRHSKernel::configure()</a>, <a class="el" href="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00050">CLFastCornersKernel::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#l00305">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="_n_e_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00422">NEFuseBatchNormalizationKernel::configure()</a>, <a class="el" href="_c_l_deconvolution_reshape_output_kernel_8cpp_source.xhtml#l00120">CLDeconvolutionReshapeOutputKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00389">CLDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_reshaped_kernel_8cpp_source.xhtml#l00214">CLGEMMMatrixMultiplyReshapedKernel::configure()</a>, <a class="el" href="_n_e_arithmetic_subtraction_kernel_8cpp_source.xhtml#l00450">NEArithmeticSubtractionKernel::configure()</a>, <a class="el" href="_c_l_col2_im_kernel_8cpp_source.xhtml#l00091">CLCol2ImKernel::configure()</a>, <a class="el" href="_n_e_arithmetic_addition_kernel_8cpp_source.xhtml#l00723">NEArithmeticAdditionKernel::configure()</a>, <a class="el" href="_c_l_im2_col_kernel_8cpp_source.xhtml#l00294">CLIm2ColKernel::configure()</a>, <a class="el" href="_c_l_gaussian_pyramid_kernel_8cpp_source.xhtml#l00150">CLGaussianPyramidVertKernel::configure()</a>, <a class="el" href="_c_l_histogram_kernel_8cpp_source.xhtml#l00158">CLHistogramBorderKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00120">CLEdgeNonMaxSuppressionKernel::configure()</a>, <a class="el" href="_c_l_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00139">CLHOGBlockNormalizationKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00130">CLSeparableConvolutionHorKernel< matrix_size >::configure()</a>, <a class="el" href="_c_l_sobel7x7_kernel_8cpp_source.xhtml#l00150">CLSobel7x7VertKernel::configure()</a>, <a class="el" href="_c_l_sobel5x5_kernel_8cpp_source.xhtml#l00148">CLSobel5x5VertKernel::configure()</a>, <a class="el" href="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00133">CLCopyToArrayKernel::configure()</a>, <a class="el" href="_c_l_convolution_kernel_8cpp_source.xhtml#l00199">CLSeparableConvolutionVertKernel< matrix_size >::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00194">CLEdgeTraceKernel::configure()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00656">error_on_data_type_not_in()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="_c_l_integral_image_kernel_8cpp_source.xhtml#l00039">CLIntegralImageHorKernel::configure()</a>, <a class="el" href="_c_l_median3x3_kernel_8cpp_source.xhtml#l00039">CLMedian3x3Kernel::configure()</a>, <a class="el" href="_c_l_warp_affine_kernel_8cpp_source.xhtml#l00061">CLWarpAffineKernel::configure()</a>, <a class="el" href="_c_l_flatten_layer_kernel_8cpp_source.xhtml#l00086">CLFlattenLayerKernel::configure()</a>, <a class="el" href="_c_l_gaussian_pyramid_kernel_8cpp_source.xhtml#l00044">CLGaussianPyramidHorKernel::configure()</a>, <a class="el" href="_c_l_reverse_kernel_8cpp_source.xhtml#l00068">CLReverseKernel::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_histogram_kernel_8cpp_source.xhtml#l00053">CLHistogramKernel::configure()</a>, <a class="el" href="_c_l_normalization_layer_kernel_8cpp_source.xhtml#l00107">CLNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00040">CLGradientKernel::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_depthwise_convolution_layer3x3_n_c_h_w_kernel_8cpp_source.xhtml#l00243">CLDepthwiseConvolutionLayer3x3NCHWKernel::configure()</a>, <a class="el" href="_c_l_tile_kernel_8cpp_source.xhtml#l00068">CLTileKernel::configure()</a>, <a class="el" href="_c_l_derivative_kernel_8cpp_source.xhtml#l00050">CLDerivativeKernel::configure()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00119">CLActivationLayerKernel::configure()</a>, <a class="el" href="_c_l_comparison_kernel_8cpp_source.xhtml#l00113">CLComparisonKernel::configure()</a>, <a class="el" href="_c_l_mean_std_dev_normalization_kernel_8cpp_source.xhtml#l00085">CLMeanStdDevNormalizationKernel::configure()</a>, <a class="el" href="_c_l_f_f_t_scale_kernel_8cpp_source.xhtml#l00078">CLFFTScaleKernel::configure()</a>, <a class="el" href="_c_l_sobel3x3_kernel_8cpp_source.xhtml#l00050">CLSobel3x3Kernel::configure()</a>, <a class="el" href="_c_l_depth_convert_layer_kernel_8cpp_source.xhtml#l00074">CLDepthConvertLayerKernel::configure()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00197">CLDepthwiseConvolutionLayer3x3NHWCKernel::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_f_f_t_digit_reverse_kernel_8cpp_source.xhtml#l00075">CLFFTDigitReverseKernel::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_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_pooling_layer_kernel_8cpp_source.xhtml#l00184">CLPoolingLayerKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate2_tensors_kernel_8cpp_source.xhtml#l00098">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_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_range_kernel_8cpp_source.xhtml#l00093">CLRangeKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate4_tensors_kernel_8cpp_source.xhtml#l00116">CLWidthConcatenate4TensorsKernel::configure()</a>, <a class="el" href="_c_l_f_f_t_radix_stage_kernel_8cpp_source.xhtml#l00085">CLFFTRadixStageKernel::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#l00122">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_integral_image_kernel_8cpp_source.xhtml#l00085">CLIntegralImageVertKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_native_kernel_8cpp_source.xhtml#l00213">CLGEMMMatrixMultiplyNativeKernel::configure()</a>, <a class="el" href="_c_l_batch_normalization_layer_kernel_8cpp_source.xhtml#l00139">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#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_depthwise_convolution_layer_native_kernel_8cpp_source.xhtml#l00180">CLDepthwiseConvolutionLayerNativeKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_reshaped_only_r_h_s_kernel_8cpp_source.xhtml#l00216">CLGEMMMatrixMultiplyReshapedOnlyRHSKernel::configure()</a>, <a class="el" href="_c_l_winograd_output_transform_kernel_8cpp_source.xhtml#l00138">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_h_o_g_detector_kernel_8cpp_source.xhtml#l00044">CLHOGDetectorKernel::configure()</a>, <a class="el" href="_n_e_fuse_batch_normalization_kernel_8cpp_source.xhtml#l00422">NEFuseBatchNormalizationKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00305">CLGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00412">CLDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_c_l_deconvolution_reshape_output_kernel_8cpp_source.xhtml#l00115">CLDeconvolutionReshapeOutputKernel::configure()</a>, <a class="el" href="_c_l_col2_im_kernel_8cpp_source.xhtml#l00091">CLCol2ImKernel::configure()</a>, <a class="el" href="_c_l_im2_col_kernel_8cpp_source.xhtml#l00294">CLIm2ColKernel::configure()</a>, <a class="el" href="_c_l_histogram_kernel_8cpp_source.xhtml#l00158">CLHistogramBorderKernel::configure()</a>, <a class="el" href="_c_l_gaussian_pyramid_kernel_8cpp_source.xhtml#l00150">CLGaussianPyramidVertKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00120">CLEdgeNonMaxSuppressionKernel::configure()</a>, <a class="el" href="_c_l_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00139">CLHOGBlockNormalizationKernel::configure()</a>, <a class="el" href="_c_l_sobel5x5_kernel_8cpp_source.xhtml#l00148">CLSobel5x5VertKernel::configure()</a>, <a class="el" href="_c_l_sobel7x7_kernel_8cpp_source.xhtml#l00150">CLSobel7x7VertKernel::configure()</a>, <a class="el" href="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00133">CLCopyToArrayKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00194">CLEdgeTraceKernel::configure()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00657">error_on_data_type_not_in()</a>.</p>
</div>
</div>
@@ -22726,11 +24167,11 @@
</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#l00264">264</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="l00265"></a><span class="lineno"> 265</span> {</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="keyword">static</span> std::map<GEMMLowpOutputStageType, const std::string> output_stage_map =</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  {</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  { GEMMLowpOutputStageType::NONE, <span class="stringliteral">""</span> },</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  { GEMMLowpOutputStageType::QUANTIZE_DOWN, <span class="stringliteral">"quantize_down"</span> },</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  { GEMMLowpOutputStageType::QUANTIZE_DOWN_FIXEDPOINT, <span class="stringliteral">"quantize_down_fixedpoint"</span> },</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  { GEMMLowpOutputStageType::QUANTIZE_DOWN_FLOAT, <span class="stringliteral">"quantize_down_float"</span> }</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> </div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  <span class="keywordflow">return</span> output_stage_map[output_stage];</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00267">267</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="l00268"></a><span class="lineno"> 268</span> {</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <span class="keyword">static</span> std::map<GEMMLowpOutputStageType, const std::string> output_stage_map =</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>  { GEMMLowpOutputStageType::NONE, <span class="stringliteral">""</span> },</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  { GEMMLowpOutputStageType::QUANTIZE_DOWN, <span class="stringliteral">"quantize_down"</span> },</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  { GEMMLowpOutputStageType::QUANTIZE_DOWN_FIXEDPOINT, <span class="stringliteral">"quantize_down_fixedpoint"</span> },</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  { GEMMLowpOutputStageType::QUANTIZE_DOWN_FLOAT, <span class="stringliteral">"quantize_down_float"</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> </div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <span class="keywordflow">return</span> output_stage_map[output_stage];</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</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#l00160">CLGEMMLowpOffsetContributionOutputStageKernel::configure()</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#l00182">CLGEMMLowpOffsetContributionOutputStageKernel::configure()</a>.</p>
</div>
</div>
@@ -22759,8 +24200,8 @@
</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#l00216">216</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="l00217"></a><span class="lineno"> 217</span> {</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <span class="keyword">static</span> std::map<InterpolationPolicy, const std::string> interpolation_policy_map =</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>  { InterpolationPolicy::AREA, <span class="stringliteral">"AREA"</span> },</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  { InterpolationPolicy::BILINEAR, <span class="stringliteral">"BILINEAR"</span> },</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  { InterpolationPolicy::NEAREST_NEIGHBOR, <span class="stringliteral">"NEAREST_NEIGHBOUR"</span> },</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  };</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div><div class="line"><a name="l00225"></a><span class="lineno"> 225</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="l00226"></a><span class="lineno"> 226</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_addition_8cpp_source.xhtml#l00136">ArithmeticAddition.cpp:136</a></div></div>
+<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>
+<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<InterpolationPolicy, const std::string> interpolation_policy_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>  { InterpolationPolicy::AREA, <span class="stringliteral">"AREA"</span> },</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  { InterpolationPolicy::BILINEAR, <span class="stringliteral">"BILINEAR"</span> },</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  { InterpolationPolicy::NEAREST_NEIGHBOR, <span class="stringliteral">"NEAREST_NEIGHBOUR"</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> interpolation_policy_map[<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">policy</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_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_addition_8cpp_source.xhtml#l00136">ArithmeticAddition.cpp:136</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="_c_l_2_arithmetic_addition_8cpp_source.xhtml#l00136">arm_compute::test::validation::policy</a>.</p>
@@ -22793,8 +24234,8 @@
</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#l00191">191</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="l00192"></a><span class="lineno"> 192</span> {</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keyword">static</span> std::map<MatrixPattern, const std::string> pattern_map =</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>  { MatrixPattern::BOX, <span class="stringliteral">"BOX"</span> },</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  { MatrixPattern::CROSS, <span class="stringliteral">"CROSS"</span> },</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  { MatrixPattern::DISK, <span class="stringliteral">"DISK"</span> },</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  { MatrixPattern::OTHER, <span class="stringliteral">"OTHER"</span> },</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="line"><a name="l00201"></a><span class="lineno"> 201</span>  <span class="keywordflow">return</span> pattern_map[pattern];</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00194">194</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="l00195"></a><span class="lineno"> 195</span> {</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="keyword">static</span> std::map<MatrixPattern, const std::string> pattern_map =</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>  { MatrixPattern::BOX, <span class="stringliteral">"BOX"</span> },</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  { MatrixPattern::CROSS, <span class="stringliteral">"CROSS"</span> },</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  { MatrixPattern::DISK, <span class="stringliteral">"DISK"</span> },</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  { MatrixPattern::OTHER, <span class="stringliteral">"OTHER"</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> pattern_map[pattern];</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</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>.</p>
@@ -22826,8 +24267,8 @@
</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#l00204">204</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="l00205"></a><span class="lineno"> 205</span> {</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keyword">static</span> std::map<NonLinearFilterFunction, const std::string> func_map =</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>  { <a class="code" href="elementwise__operation_8cl.xhtml#aacc3ee1a7f283f8ef65cea31f4436a95">NonLinearFilterFunction::MAX</a>, <span class="stringliteral">"MAX"</span> },</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  { NonLinearFilterFunction::MEDIAN, <span class="stringliteral">"MEDIAN"</span> },</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  { <a class="code" href="elementwise__operation_8cl.xhtml#a74e75242132eaabbc1c512488a135926">NonLinearFilterFunction::MIN</a>, <span class="stringliteral">"MIN"</span> },</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> </div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <span class="keywordflow">return</span> func_map[<span class="keyword">function</span>];</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</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>
+<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>
+<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<NonLinearFilterFunction, const std::string> func_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>  { <a class="code" href="elementwise__operation_8cl.xhtml#aacc3ee1a7f283f8ef65cea31f4436a95">NonLinearFilterFunction::MAX</a>, <span class="stringliteral">"MAX"</span> },</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  { NonLinearFilterFunction::MEDIAN, <span class="stringliteral">"MEDIAN"</span> },</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  { <a class="code" href="elementwise__operation_8cl.xhtml#a74e75242132eaabbc1c512488a135926">NonLinearFilterFunction::MIN</a>, <span class="stringliteral">"MIN"</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> func_map[<span class="keyword">function</span>];</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</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>
@@ -22861,9 +24302,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#l00240">240</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="l00241"></a><span class="lineno"> 241</span> {</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <span class="keyword">static</span> std::map<NormType, const std::string> norm_type_map =</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>  { NormType::IN_MAP_1D, <span class="stringliteral">"IN_MAP_1D"</span> },</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  { NormType::IN_MAP_2D, <span class="stringliteral">"IN_MAP_2D"</span> },</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  { NormType::CROSS_MAP, <span class="stringliteral">"CROSS_MAP"</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> </div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <span class="keywordflow">return</span> norm_type_map[type];</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</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="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>
+<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<NormType, const std::string> norm_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>  { NormType::IN_MAP_1D, <span class="stringliteral">"IN_MAP_1D"</span> },</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  { NormType::IN_MAP_2D, <span class="stringliteral">"IN_MAP_2D"</span> },</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  { NormType::CROSS_MAP, <span class="stringliteral">"CROSS_MAP"</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> norm_type_map[<a class="code" href="namespace_gemm_tuner.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">type</a>];</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span> }</div><div class="ttc" id="namespace_gemm_tuner_xhtml_a7aead736a07eaf25623ad7bfa1f0ee2d"><div class="ttname"><a href="namespace_gemm_tuner.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">GemmTuner.type</a></div><div class="ttdeci">type</div><div class="ttdef"><b>Definition:</b> <a href="_gemm_tuner_8py_source.xhtml#l00527">GemmTuner.py:527</a></div></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>, <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e">IN_MAP_2D</a>, and <a class="el" href="_gemm_tuner_8py_source.xhtml#l00527">GemmTuner::type</a>.</p>
</div>
</div>
@@ -22903,14 +24345,14 @@
</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#l00277">277</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="l00278"></a><span class="lineno"> 278</span> {</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  std::stringstream ss;</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  std::string converted_string;</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>  <span class="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a5f5b6c4337eac9e2e0046ca2304d80dc">data_type</a>)</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> DataType::U8:</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <span class="comment">// Needs conversion to 32 bit, otherwise interpreted as ASCII values</span></div><div class="line"><a name="l00287"></a><span class="lineno"> 287</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="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::S8:</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <span class="comment">// Needs conversion to 32 bit, otherwise interpreted as ASCII values</span></div><div class="line"><a name="l00292"></a><span class="lineno"> 292</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="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::U16:</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><uint16_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::S16:</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <span class="keywordflow">case</span> DataType::QSYMM16:</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</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="l00302"></a><span class="lineno"> 302</span>  converted_string = ss.str();</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</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="l00306"></a><span class="lineno"> 306</span>  converted_string = ss.str();</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</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="l00310"></a><span class="lineno"> 310</span>  converted_string = ss.str();</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</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="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">case</span> DataType::F16:</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</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="l00317"></a><span class="lineno"> 317</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="l00318"></a><span class="lineno"> 318</span>  converted_string = ss.str();</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</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="l00322"></a><span class="lineno"> 322</span>  }</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span> </div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <span class="keywordflow">return</span> converted_string;</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</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#l00215">PixelValue.h:215</a></div></div>
+<p class="definition">Definition at line <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00280">280</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="l00281"></a><span class="lineno"> 281</span> {</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  std::stringstream ss;</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  std::string converted_string;</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a5f5b6c4337eac9e2e0046ca2304d80dc">data_type</a>)</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  {</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <span class="comment">// Needs conversion to 32 bit, otherwise interpreted as ASCII values</span></div><div class="line"><a name="l00290"></a><span class="lineno"> 290</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="l00291"></a><span class="lineno"> 291</span>  converted_string = ss.str();</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <span class="keywordflow">case</span> DataType::QASYMM8_SIGNED:</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  <span class="keywordflow">case</span> DataType::QSYMM8_PER_CHANNEL:</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <span class="comment">// Needs conversion to 32 bit, otherwise interpreted as ASCII values</span></div><div class="line"><a name="l00297"></a><span class="lineno"> 297</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="l00298"></a><span class="lineno"> 298</span>  converted_string = ss.str();</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="keywordflow">case</span> DataType::QASYMM16:</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</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="l00303"></a><span class="lineno"> 303</span>  converted_string = ss.str();</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::S16:</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <span class="keywordflow">case</span> DataType::QSYMM16:</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><int16_t>();</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">case</span> DataType::U32:</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</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="l00312"></a><span class="lineno"> 312</span>  converted_string = ss.str();</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</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="l00316"></a><span class="lineno"> 316</span>  converted_string = ss.str();</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</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="l00320"></a><span class="lineno"> 320</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</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="l00323"></a><span class="lineno"> 323</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="l00324"></a><span class="lineno"> 324</span>  converted_string = ss.str();</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Not handled"</span>);</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  }</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span> </div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <span class="keywordflow">return</span> converted_string;</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span> }</div><div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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#l00218">PixelValue.h:218</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_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#l01066">Utils.h:1066</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#l01099">Utils.h:1099</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a5f5b6c4337eac9e2e0046ca2304d80dc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a5f5b6c4337eac9e2e0046ca2304d80dc">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_addition_8cpp_source.xhtml#l00135">ArithmeticAddition.cpp:135</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>
+<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="_c_l_pad_layer_kernel_8cpp_source.xhtml#l00097">CLPadLayerKernel::configure()</a>.</p>
</div>
</div>
@@ -22939,10 +24381,11 @@
</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#l00252">252</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="l00253"></a><span class="lineno"> 253</span> {</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <span class="keyword">static</span> std::map<PoolingType, const std::string> pool_type_map =</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  {</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  { <a class="code" href="elementwise__operation_8cl.xhtml#aacc3ee1a7f283f8ef65cea31f4436a95">PoolingType::MAX</a>, <span class="stringliteral">"MAX"</span> },</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  { PoolingType::AVG, <span class="stringliteral">"AVG"</span> },</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  { PoolingType::L2, <span class="stringliteral">"L2"</span> },</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  };</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <span class="keywordflow">return</span> pool_type_map[type];</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</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>
+<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>
+<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<PoolingType, const std::string> pool_type_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>  { <a class="code" href="elementwise__operation_8cl.xhtml#aacc3ee1a7f283f8ef65cea31f4436a95">PoolingType::MAX</a>, <span class="stringliteral">"MAX"</span> },</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  { PoolingType::AVG, <span class="stringliteral">"AVG"</span> },</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  { PoolingType::L2, <span class="stringliteral">"L2"</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> pool_type_map[<a class="code" href="namespace_gemm_tuner.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">type</a>];</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</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 class="ttc" id="namespace_gemm_tuner_xhtml_a7aead736a07eaf25623ad7bfa1f0ee2d"><div class="ttname"><a href="namespace_gemm_tuner.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">GemmTuner.type</a></div><div class="ttdeci">type</div><div class="ttdef"><b>Definition:</b> <a href="_gemm_tuner_8py_source.xhtml#l00527">GemmTuner.py:527</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">References <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a">AVG</a>, <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76">L2</a>, <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a>, and <a class="el" href="_gemm_tuner_8py_source.xhtml#l00527">GemmTuner::type</a>.</p>
<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#l00184">CLPoolingLayerKernel::configure()</a>.</p>
@@ -22973,8 +24416,8 @@
</dl>
<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>
-<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="definition">Definition at line <a class="el" href="src_2runtime_2_utils_8cpp_source.xhtml#l00039">39</a> of file <a class="el" href="src_2runtime_2_utils_8cpp_source.xhtml">Utils.cpp</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="keyword">static</span> std::map<Scheduler::Type, const std::string> scheduler_type_map =</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>  { Scheduler::Type::ST, <span class="stringliteral">"Single Thread"</span> },</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  { Scheduler::Type::CPP, <span class="stringliteral">"C++11 Threads"</span> },</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  { Scheduler::Type::OMP, <span class="stringliteral">"OpenMP Threads"</span> },</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  { Scheduler::Type::CUSTOM, <span class="stringliteral">"Custom"</span> }</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> </div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keywordflow">return</span> scheduler_type_map[t];</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</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>
@@ -23053,9 +24496,41 @@
</dd>
</dl>
-<p class="definition">Definition at line <a class="el" href="_window_8inl_source.xhtml#l00278">278</a> of file <a class="el" href="_window_8inl_source.xhtml">Window.inl</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>  lhs._dims.swap(rhs._dims);</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span> }</div></div><!-- fragment -->
-<p class="reference">Referenced by <a class="el" href="_graph_utils_8cpp_source.xhtml#l00080">CaffePreproccessor::CaffePreproccessor()</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_window_8inl_source.xhtml#l00292">292</a> of file <a class="el" href="_window_8inl_source.xhtml">Window.inl</a>.</p>
+<div class="fragment"><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>  lhs._dims.swap(rhs._dims);</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span> }</div></div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="_graph_utils_8cpp_source.xhtml#l00101">CaffePreproccessor::CaffePreproccessor()</a>.</p>
+
+</div>
+</div>
+<a id="a61e7f5901fd23f6009db8eac1a400be9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a61e7f5901fd23f6009db8eac1a400be9">◆ </a></span>throw_error()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void throw_error </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarm__compute_1_1_status.xhtml">Status</a> </td>
+ <td class="paramname"><em>err</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Throw an std::runtime_error. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">err</td><td>Error status </td></tr>
+ </table>
+ </dd>
+</dl>
+
+<p class="definition">Definition at line <a class="el" href="_error_8cpp_source.xhtml#l00046">46</a> of file <a class="el" href="_error_8cpp_source.xhtml">Error.cpp</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>  <a class="code" href="_error_8h.xhtml#ad5518fdae84a33ce6fbed540c6e89479">ARM_COMPUTE_THROW</a>(std::runtime_error(err.<a class="code" href="classarm__compute_1_1_status.xhtml#ac8ba59c07d56602367dae64035abb1ef">error_description</a>()));</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</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#l00480">Error.h:480</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_status_xhtml_ac8ba59c07d56602367dae64035abb1ef"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml#ac8ba59c07d56602367dae64035abb1ef">arm_compute::Status::error_description</a></div><div class="ttdeci">std::string error_description() const</div><div class="ttdoc">Gets error description if any.</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00097">Error.h:97</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00480">ARM_COMPUTE_THROW</a>, and <a class="el" href="_error_8h_source.xhtml#l00097">Status::error_description()</a>.</p>
</div>
</div>
@@ -23093,8 +24568,11 @@
<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>
-<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#l00136">arm_compute::graph::backends::detail::create_batch_normalization_layer()</a>, <a class="el" href="_function_helpers_8h_source.xhtml#l00407">arm_compute::graph::backends::detail::create_convolution_layer()</a>, <a class="el" href="_g_c_functions_factory_8cpp_source.xhtml#l00072">arm_compute::graph::backends::detail::create_convolution_layer< GCConvolutionLayerFunctions, GCTargetInfo >()</a>, <a class="el" href="_n_e_function_factory_8cpp_source.xhtml#l00092">arm_compute::graph::backends::detail::create_convolution_layer< NEConvolutionLayerFunctions, NETargetInfo >()</a>, <a class="el" href="_function_helpers_8h_source.xhtml#l00541">arm_compute::graph::backends::detail::create_depthwise_convolution_layer()</a>, <a class="el" href="_g_c_functions_factory_8cpp_source.xhtml#l00125">arm_compute::graph::backends::detail::create_depthwise_convolution_layer< GCDepthwiseConvolutionLayerFunctions, GCTargetInfo >()</a>, <a class="el" href="_function_helpers_8h_source.xhtml#l00180">arm_compute::graph::backends::detail::create_fused_convolution_batch_normalization_layer()</a>, <a class="el" href="_function_helpers_8h_source.xhtml#l00229">arm_compute::graph::backends::detail::create_fused_depthwise_convolution_batch_normalization_layer()</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#l02332">operator<<()</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 << <a class="code" href="namespace_gemm_tuner.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">type</a>;</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 class="ttc" id="namespace_gemm_tuner_xhtml_a7aead736a07eaf25623ad7bfa1f0ee2d"><div class="ttname"><a href="namespace_gemm_tuner.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">GemmTuner.type</a></div><div class="ttdeci">type</div><div class="ttdef"><b>Definition:</b> <a href="_gemm_tuner_8py_source.xhtml#l00527">GemmTuner.py:527</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_gemm_tuner_8py_source.xhtml#l00527">GemmTuner::type</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_function_helpers_8h_source.xhtml#l00137">arm_compute::graph::backends::detail::create_batch_normalization_layer()</a>, <a class="el" href="_function_helpers_8h_source.xhtml#l00424">arm_compute::graph::backends::detail::create_convolution_layer()</a>, <a class="el" href="_g_c_functions_factory_8cpp_source.xhtml#l00073">arm_compute::graph::backends::detail::create_convolution_layer< GCConvolutionLayerFunctions, GCTargetInfo >()</a>, <a class="el" href="_n_e_function_factory_8cpp_source.xhtml#l00085">arm_compute::graph::backends::detail::create_convolution_layer< NEConvolutionLayerFunctions, NETargetInfo >()</a>, <a class="el" href="_function_helpers_8h_source.xhtml#l00558">arm_compute::graph::backends::detail::create_depthwise_convolution_layer()</a>, <a class="el" href="_g_c_functions_factory_8cpp_source.xhtml#l00126">arm_compute::graph::backends::detail::create_depthwise_convolution_layer< GCDepthwiseConvolutionLayerFunctions, GCTargetInfo >()</a>, <a class="el" href="_function_helpers_8h_source.xhtml#l00182">arm_compute::graph::backends::detail::create_fused_convolution_batch_normalization_layer()</a>, <a class="el" href="_function_helpers_8h_source.xhtml#l00239">arm_compute::graph::backends::detail::create_fused_depthwise_convolution_batch_normalization_layer()</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#l00093">main()</a>, <a class="el" href="utils_2_type_printer_8h_source.xhtml#l02338">operator<<()</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>
@@ -23390,8 +24868,8 @@
</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#l00404">404</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="l00405"></a><span class="lineno"> 405</span> {</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  std::stringstream str;</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</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="l00408"></a><span class="lineno"> 408</span>  {</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.activation();</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  }</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  <span class="keywordflow">return</span> str.str();</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_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>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00407">407</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="l00408"></a><span class="lineno"> 408</span> {</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  std::stringstream str;</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</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="l00411"></a><span class="lineno"> 411</span>  {</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>.activation();</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">return</span> str.str();</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_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>
@@ -23430,8 +24908,8 @@
</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#l00420">420</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="l00421"></a><span class="lineno"> 421</span> {</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  std::stringstream str;</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  str << <span class="keyword">function</span>;</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00423">423</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="l00424"></a><span class="lineno"> 424</span> {</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  std::stringstream str;</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  str << <span class="keyword">function</span>;</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a45dd771bdecbafb975fd267c2ae320a7"></a>
@@ -23467,8 +24945,8 @@
</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#l00460">460</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="l00461"></a><span class="lineno"> 461</span> {</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  std::stringstream str;</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</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="l00464"></a><span class="lineno"> 464</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</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>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00463">463</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="l00464"></a><span class="lineno"> 464</span> {</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  std::stringstream str;</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</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="l00467"></a><span class="lineno"> 467</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</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>
@@ -23507,8 +24985,8 @@
</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#l00527">527</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="l00528"></a><span class="lineno"> 528</span> {</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  std::stringstream str;</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a60ad1078faeaf3f59266d69ad937339f">rounding_policy</a>;</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</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#l00317">PixelWiseMultiplication.cpp:317</a></div></div>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00530">530</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="l00531"></a><span class="lineno"> 531</span> {</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  std::stringstream str;</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a60ad1078faeaf3f59266d69ad937339f">rounding_policy</a>;</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</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#l00317">PixelWiseMultiplication.cpp:317</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00317">arm_compute::test::validation::rounding_policy</a>.</p>
@@ -23547,8 +25025,8 @@
</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#l00568">568</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="l00569"></a><span class="lineno"> 569</span> {</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>  std::stringstream str;</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">data_layout</a>;</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_acf5f12bbab64dd614bd8220c97fe484f"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">arm_compute::test::validation::data_layout</a></div><div class="ttdeci">const DataLayout data_layout</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00146">Im2Col.cpp:146</a></div></div>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00571">571</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="l00572"></a><span class="lineno"> 572</span> {</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>  std::stringstream str;</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">data_layout</a>;</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_acf5f12bbab64dd614bd8220c97fe484f"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">arm_compute::test::validation::data_layout</a></div><div class="ttdeci">const DataLayout data_layout</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00146">Im2Col.cpp:146</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00146">arm_compute::test::validation::data_layout</a>.</p>
@@ -23587,8 +25065,8 @@
</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#l00680">680</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="l00681"></a><span class="lineno"> 681</span> {</div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>  std::stringstream str;</div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a5f5b6c4337eac9e2e0046ca2304d80dc">data_type</a>;</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a5f5b6c4337eac9e2e0046ca2304d80dc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a5f5b6c4337eac9e2e0046ca2304d80dc">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_addition_8cpp_source.xhtml#l00135">ArithmeticAddition.cpp:135</a></div></div>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00686">686</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="l00687"></a><span class="lineno"> 687</span> {</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>  std::stringstream str;</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a5f5b6c4337eac9e2e0046ca2304d80dc">data_type</a>;</div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a5f5b6c4337eac9e2e0046ca2304d80dc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a5f5b6c4337eac9e2e0046ca2304d80dc">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_addition_8cpp_source.xhtml#l00135">ArithmeticAddition.cpp:135</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_c_l_2_arithmetic_addition_8cpp_source.xhtml#l00135">arm_compute::test::validation::data_type</a>.</p>
@@ -23627,8 +25105,8 @@
</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#l00762">762</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="l00763"></a><span class="lineno"> 763</span> {</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>  std::stringstream str;</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span>  str << format;</div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00768">768</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="l00769"></a><span class="lineno"> 769</span> {</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>  std::stringstream str;</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>  str << format;</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a813e71cd70c2bbcbf0743fa83a3608b9"></a>
@@ -23664,8 +25142,8 @@
</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#l00829">829</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="l00830"></a><span class="lineno"> 830</span> {</div><div class="line"><a name="l00831"></a><span class="lineno"> 831</span>  std::stringstream str;</div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span>  str << channel;</div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00835">835</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="l00836"></a><span class="lineno"> 836</span> {</div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>  std::stringstream str;</div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>  str << channel;</div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a48fd5e28bdb4975c141841f0b96f8707"></a>
@@ -23701,8 +25179,8 @@
</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#l00987">987</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="l00988"></a><span class="lineno"> 988</span> {</div><div class="line"><a name="l00989"></a><span class="lineno"> 989</span>  std::stringstream str;</div><div class="line"><a name="l00990"></a><span class="lineno"> 990</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>;</div><div class="line"><a name="l00991"></a><span class="lineno"> 991</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00992"></a><span class="lineno"> 992</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>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00993">993</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="l00994"></a><span class="lineno"> 994</span> {</div><div class="line"><a name="l00995"></a><span class="lineno"> 995</span>  std::stringstream str;</div><div class="line"><a name="l00996"></a><span class="lineno"> 996</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>;</div><div class="line"><a name="l00997"></a><span class="lineno"> 997</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00998"></a><span class="lineno"> 998</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>
@@ -23741,8 +25219,8 @@
</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#l01001">1001</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="l01002"></a><span class="lineno"> 1002</span> {</div><div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>  std::stringstream str;</div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>  str << dimensions;</div><div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01007">1007</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="l01008"></a><span class="lineno"> 1008</span> {</div><div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>  std::stringstream str;</div><div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>  str << dimensions;</div><div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a1c4486f45128be7156e38e6dea345a16"></a>
@@ -23778,8 +25256,8 @@
</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#l01014">1014</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="l01015"></a><span class="lineno"> 1015</span> {</div><div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>  std::stringstream str;</div><div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>  str << stride;</div><div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01020">1020</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="l01021"></a><span class="lineno"> 1021</span> {</div><div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>  std::stringstream str;</div><div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>  str << stride;</div><div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a9d9b56d1b106b79fc5c5411372222d0f"></a>
@@ -23815,8 +25293,8 @@
</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#l01027">1027</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="l01028"></a><span class="lineno"> 1028</span> {</div><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>  std::stringstream str;</div><div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>;</div><div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01032"></a><span class="lineno"> 1032</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>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01033">1033</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="l01034"></a><span class="lineno"> 1034</span> {</div><div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>  std::stringstream str;</div><div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>;</div><div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01038"></a><span class="lineno"> 1038</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>
@@ -23855,8 +25333,8 @@
</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#l01040">1040</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="l01041"></a><span class="lineno"> 1041</span> {</div><div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>  std::stringstream str;</div><div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>  str << coord;</div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01046">1046</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="l01047"></a><span class="lineno"> 1047</span> {</div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>  std::stringstream str;</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>  str << coord;</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a26a595cd5522bae4fa1c4f2fb9b8f4d5"></a>
@@ -23892,8 +25370,8 @@
</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#l01125">1125</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="l01126"></a><span class="lineno"> 1126</span> {</div><div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>  std::stringstream str;</div><div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>;</div><div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01130"></a><span class="lineno"> 1130</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>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01131">1131</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="l01132"></a><span class="lineno"> 1132</span> {</div><div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>  std::stringstream str;</div><div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>;</div><div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01136"></a><span class="lineno"> 1136</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>
@@ -23932,8 +25410,8 @@
</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#l01138">1138</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="l01139"></a><span class="lineno"> 1139</span> {</div><div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>  std::stringstream str;</div><div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>;</div><div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01143"></a><span class="lineno"> 1143</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>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01144">1144</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="l01145"></a><span class="lineno"> 1145</span> {</div><div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>  std::stringstream str;</div><div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>;</div><div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01149"></a><span class="lineno"> 1149</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>
@@ -23972,8 +25450,8 @@
</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#l01151">1151</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="l01152"></a><span class="lineno"> 1152</span> {</div><div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>  std::stringstream str;</div><div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>;</div><div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01156"></a><span class="lineno"> 1156</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>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01157">1157</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="l01158"></a><span class="lineno"> 1158</span> {</div><div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>  std::stringstream str;</div><div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>;</div><div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01162"></a><span class="lineno"> 1162</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>
@@ -24012,8 +25490,8 @@
</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#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 << dim;</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 -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01170">1170</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="l01171"></a><span class="lineno"> 1171</span> {</div><div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>  std::stringstream str;</div><div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>  str << dim;</div><div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01175"></a><span class="lineno"> 1175</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a99aba2774f142d36c6a286cbfe027772"></a>
@@ -24049,8 +25527,8 @@
</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#l01176">1176</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="l01177"></a><span class="lineno"> 1177</span> {</div><div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>  std::stringstream str;</div><div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>  str << win;</div><div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01181"></a><span class="lineno"> 1181</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01182">1182</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="l01183"></a><span class="lineno"> 1183</span> {</div><div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>  std::stringstream str;</div><div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>  str << win;</div><div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01187"></a><span class="lineno"> 1187</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a58c3c62a56ede81c516f987a263bc95a"></a>
@@ -24086,8 +25564,8 @@
</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#l01231">1231</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="l01232"></a><span class="lineno"> 1232</span> {</div><div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>  std::stringstream str;</div><div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>  str << mode;</div><div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01236"></a><span class="lineno"> 1236</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01237">1237</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="l01238"></a><span class="lineno"> 1238</span> {</div><div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>  std::stringstream str;</div><div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>  str << mode;</div><div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01242"></a><span class="lineno"> 1242</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a2c0e6c1c4cf10da25e7a7362ba151ba2"></a>
@@ -24123,8 +25601,8 @@
</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 << pad_stride_info;</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 -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01267">1267</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="l01268"></a><span class="lineno"> 1268</span> {</div><div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>  std::stringstream str;</div><div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>  str << pad_stride_info;</div><div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01272"></a><span class="lineno"> 1272</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a0604106dd269acd58152a81ba87cc265"></a>
@@ -24160,8 +25638,8 @@
</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#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 << mode;</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><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01280">1280</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="l01281"></a><span class="lineno"> 1281</span> {</div><div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>  std::stringstream str;</div><div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>  str << mode;</div><div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01285"></a><span class="lineno"> 1285</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a5c9cde9144eaeceaf086377b9bc5a5be"></a>
@@ -24197,8 +25675,8 @@
</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#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 << border;</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><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01293">1293</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="l01294"></a><span class="lineno"> 1294</span> {</div><div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>  std::stringstream str;</div><div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>  str << border;</div><div class="line"><a name="l01297"></a><span class="lineno"> 1297</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01298"></a><span class="lineno"> 1298</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a09b674dcee4a1b59f9c7c51ecaae40a6"></a>
@@ -24234,8 +25712,8 @@
</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#l01300">1300</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="l01301"></a><span class="lineno"> 1301</span> {</div><div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>  std::stringstream str;</div><div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a735a025fce26c1ef147b54426df18181">padding</a>;</div><div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01305"></a><span class="lineno"> 1305</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>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01306">1306</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="l01307"></a><span class="lineno"> 1307</span> {</div><div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>  std::stringstream str;</div><div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a735a025fce26c1ef147b54426df18181">padding</a>;</div><div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01311"></a><span class="lineno"> 1311</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>
@@ -24274,8 +25752,8 @@
</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#l01313">1313</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="l01314"></a><span class="lineno"> 1314</span> {</div><div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>  std::stringstream str;</div><div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>  str << multiples;</div><div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01318"></a><span class="lineno"> 1318</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01319">1319</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="l01320"></a><span class="lineno"> 1320</span> {</div><div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>  std::stringstream str;</div><div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>  str << multiples;</div><div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01324"></a><span class="lineno"> 1324</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a94bd78942b683c05cba85048537d3ee7"></a>
@@ -24311,8 +25789,8 @@
</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#l01326">1326</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="l01327"></a><span class="lineno"> 1327</span> {</div><div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>  std::stringstream str;</div><div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">policy</a>;</div><div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01331"></a><span class="lineno"> 1331</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_addition_8cpp_source.xhtml#l00136">ArithmeticAddition.cpp:136</a></div></div>
+<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>  std::stringstream str;</div><div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">policy</a>;</div><div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01337"></a><span class="lineno"> 1337</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_addition_8cpp_source.xhtml#l00136">ArithmeticAddition.cpp:136</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_c_l_2_arithmetic_addition_8cpp_source.xhtml#l00136">arm_compute::test::validation::policy</a>.</p>
@@ -24351,8 +25829,8 @@
</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#l01339">1339</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="l01340"></a><span class="lineno"> 1340</span> {</div><div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>  std::stringstream str;</div><div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">policy</a>;</div><div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01344"></a><span class="lineno"> 1344</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_addition_8cpp_source.xhtml#l00136">ArithmeticAddition.cpp:136</a></div></div>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01345">1345</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="l01346"></a><span class="lineno"> 1346</span> {</div><div class="line"><a name="l01347"></a><span class="lineno"> 1347</span>  std::stringstream str;</div><div class="line"><a name="l01348"></a><span class="lineno"> 1348</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">policy</a>;</div><div class="line"><a name="l01349"></a><span class="lineno"> 1349</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01350"></a><span class="lineno"> 1350</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_addition_8cpp_source.xhtml#l00136">ArithmeticAddition.cpp:136</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_c_l_2_arithmetic_addition_8cpp_source.xhtml#l00136">arm_compute::test::validation::policy</a>.</p>
@@ -24382,8 +25860,8 @@
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01370">1370</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="l01371"></a><span class="lineno"> 1371</span> {</div><div class="line"><a name="l01372"></a><span class="lineno"> 1372</span>  std::stringstream str;</div><div class="line"><a name="l01373"></a><span class="lineno"> 1373</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">policy</a>;</div><div class="line"><a name="l01374"></a><span class="lineno"> 1374</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01375"></a><span class="lineno"> 1375</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_addition_8cpp_source.xhtml#l00136">ArithmeticAddition.cpp:136</a></div></div>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01376">1376</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="l01377"></a><span class="lineno"> 1377</span> {</div><div class="line"><a name="l01378"></a><span class="lineno"> 1378</span>  std::stringstream str;</div><div class="line"><a name="l01379"></a><span class="lineno"> 1379</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad986b73e9d5f47a623a9b6d773c25e34">policy</a>;</div><div class="line"><a name="l01380"></a><span class="lineno"> 1380</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01381"></a><span class="lineno"> 1381</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_addition_8cpp_source.xhtml#l00136">ArithmeticAddition.cpp:136</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_c_l_2_arithmetic_addition_8cpp_source.xhtml#l00136">arm_compute::test::validation::policy</a>.</p>
@@ -24422,8 +25900,8 @@
</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#l01422">1422</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="l01423"></a><span class="lineno"> 1423</span> {</div><div class="line"><a name="l01424"></a><span class="lineno"> 1424</span>  std::stringstream str;</div><div class="line"><a name="l01425"></a><span class="lineno"> 1425</span>  str << op;</div><div class="line"><a name="l01426"></a><span class="lineno"> 1426</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01427"></a><span class="lineno"> 1427</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01428">1428</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="l01429"></a><span class="lineno"> 1429</span> {</div><div class="line"><a name="l01430"></a><span class="lineno"> 1430</span>  std::stringstream str;</div><div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>  str << op;</div><div class="line"><a name="l01432"></a><span class="lineno"> 1432</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01433"></a><span class="lineno"> 1433</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="aae534105c7ea67999ccbb34a0ed567cd"></a>
@@ -24459,8 +25937,8 @@
</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#l01477">1477</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="l01478"></a><span class="lineno"> 1478</span> {</div><div class="line"><a name="l01479"></a><span class="lineno"> 1479</span>  std::stringstream str;</div><div class="line"><a name="l01480"></a><span class="lineno"> 1480</span>  str << op;</div><div class="line"><a name="l01481"></a><span class="lineno"> 1481</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01482"></a><span class="lineno"> 1482</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01483">1483</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="l01484"></a><span class="lineno"> 1484</span> {</div><div class="line"><a name="l01485"></a><span class="lineno"> 1485</span>  std::stringstream str;</div><div class="line"><a name="l01486"></a><span class="lineno"> 1486</span>  str << op;</div><div class="line"><a name="l01487"></a><span class="lineno"> 1487</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01488"></a><span class="lineno"> 1488</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a77007283b591963074b8398202e90f5a"></a>
@@ -24496,8 +25974,8 @@
</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 << op;</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#l01565">1565</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="l01566"></a><span class="lineno"> 1566</span> {</div><div class="line"><a name="l01567"></a><span class="lineno"> 1567</span>  std::stringstream str;</div><div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>  str << op;</div><div class="line"><a name="l01569"></a><span class="lineno"> 1569</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01570"></a><span class="lineno"> 1570</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="ab76157462925ad1b13149317ded2e404"></a>
@@ -24533,8 +26011,8 @@
</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#l01572">1572</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="l01573"></a><span class="lineno"> 1573</span> {</div><div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>  std::stringstream str;</div><div class="line"><a name="l01575"></a><span class="lineno"> 1575</span>  str << op;</div><div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01577"></a><span class="lineno"> 1577</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01578">1578</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="l01579"></a><span class="lineno"> 1579</span> {</div><div class="line"><a name="l01580"></a><span class="lineno"> 1580</span>  std::stringstream str;</div><div class="line"><a name="l01581"></a><span class="lineno"> 1581</span>  str << op;</div><div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01583"></a><span class="lineno"> 1583</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="ad8b676c38d9b8d9d9bde7caec5720bd9"></a>
@@ -24570,8 +26048,11 @@
</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#l01585">1585</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="l01586"></a><span class="lineno"> 1586</span> {</div><div class="line"><a name="l01587"></a><span class="lineno"> 1587</span>  std::stringstream str;</div><div class="line"><a name="l01588"></a><span class="lineno"> 1588</span>  str << type;</div><div class="line"><a name="l01589"></a><span class="lineno"> 1589</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01590"></a><span class="lineno"> 1590</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01591">1591</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="l01592"></a><span class="lineno"> 1592</span> {</div><div class="line"><a name="l01593"></a><span class="lineno"> 1593</span>  std::stringstream str;</div><div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>  str << <a class="code" href="namespace_gemm_tuner.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">type</a>;</div><div class="line"><a name="l01595"></a><span class="lineno"> 1595</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01596"></a><span class="lineno"> 1596</span> }</div><div class="ttc" id="namespace_gemm_tuner_xhtml_a7aead736a07eaf25623ad7bfa1f0ee2d"><div class="ttname"><a href="namespace_gemm_tuner.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">GemmTuner.type</a></div><div class="ttdeci">type</div><div class="ttdef"><b>Definition:</b> <a href="_gemm_tuner_8py_source.xhtml#l00527">GemmTuner.py:527</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_gemm_tuner_8py_source.xhtml#l00527">GemmTuner::type</a>.</p>
+
</div>
</div>
<a id="a2872d19dd10dc3117813d291c08e0383"></a>
@@ -24607,8 +26088,11 @@
</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#l01598">1598</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="l01599"></a><span class="lineno"> 1599</span> {</div><div class="line"><a name="l01600"></a><span class="lineno"> 1600</span>  std::stringstream str;</div><div class="line"><a name="l01601"></a><span class="lineno"> 1601</span>  str << type;</div><div class="line"><a name="l01602"></a><span class="lineno"> 1602</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01603"></a><span class="lineno"> 1603</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01604">1604</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="l01605"></a><span class="lineno"> 1605</span> {</div><div class="line"><a name="l01606"></a><span class="lineno"> 1606</span>  std::stringstream str;</div><div class="line"><a name="l01607"></a><span class="lineno"> 1607</span>  str << <a class="code" href="namespace_gemm_tuner.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">type</a>;</div><div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01609"></a><span class="lineno"> 1609</span> }</div><div class="ttc" id="namespace_gemm_tuner_xhtml_a7aead736a07eaf25623ad7bfa1f0ee2d"><div class="ttname"><a href="namespace_gemm_tuner.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">GemmTuner.type</a></div><div class="ttdeci">type</div><div class="ttdef"><b>Definition:</b> <a href="_gemm_tuner_8py_source.xhtml#l00527">GemmTuner.py:527</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_gemm_tuner_8py_source.xhtml#l00527">GemmTuner::type</a>.</p>
+
</div>
</div>
<a id="acef515348c5f7f73c89aa4b8a47a02bc"></a>
@@ -24644,8 +26128,8 @@
</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#l01611">1611</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="l01612"></a><span class="lineno"> 1612</span> {</div><div class="line"><a name="l01613"></a><span class="lineno"> 1613</span>  std::stringstream str;</div><div class="line"><a name="l01614"></a><span class="lineno"> 1614</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="l01615"></a><span class="lineno"> 1615</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="l01616"></a><span class="lineno"> 1616</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="l01617"></a><span class="lineno"> 1617</span>  {</div><div class="line"><a name="l01618"></a><span class="lineno"> 1618</span>  str << <span class="stringliteral">","</span></div><div class="line"><a name="l01619"></a><span class="lineno"> 1619</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="l01620"></a><span class="lineno"> 1620</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="l01621"></a><span class="lineno"> 1621</span>  }</div><div class="line"><a name="l01622"></a><span class="lineno"> 1622</span>  str << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l01623"></a><span class="lineno"> 1623</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01624"></a><span class="lineno"> 1624</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>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01617">1617</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="l01618"></a><span class="lineno"> 1618</span> {</div><div class="line"><a name="l01619"></a><span class="lineno"> 1619</span>  std::stringstream str;</div><div class="line"><a name="l01620"></a><span class="lineno"> 1620</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="l01621"></a><span class="lineno"> 1621</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="l01622"></a><span class="lineno"> 1622</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="l01623"></a><span class="lineno"> 1623</span>  {</div><div class="line"><a name="l01624"></a><span class="lineno"> 1624</span>  str << <span class="stringliteral">","</span></div><div class="line"><a name="l01625"></a><span class="lineno"> 1625</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="l01626"></a><span class="lineno"> 1626</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="l01627"></a><span class="lineno"> 1627</span>  }</div><div class="line"><a name="l01628"></a><span class="lineno"> 1628</span>  str << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l01629"></a><span class="lineno"> 1629</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01630"></a><span class="lineno"> 1630</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>
@@ -24684,8 +26168,8 @@
</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#l01632">1632</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="l01633"></a><span class="lineno"> 1633</span> {</div><div class="line"><a name="l01634"></a><span class="lineno"> 1634</span>  std::stringstream str;</div><div class="line"><a name="l01635"></a><span class="lineno"> 1635</span>  str << <span class="stringliteral">"{"</span>;</div><div class="line"><a name="l01636"></a><span class="lineno"> 1636</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="l01637"></a><span class="lineno"> 1637</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="l01638"></a><span class="lineno"> 1638</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="l01639"></a><span class="lineno"> 1639</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="l01640"></a><span class="lineno"> 1640</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="l01641"></a><span class="lineno"> 1641</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="l01642"></a><span class="lineno"> 1642</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="l01643"></a><span class="lineno"> 1643</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="l01644"></a><span class="lineno"> 1644</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="l01645"></a><span class="lineno"> 1645</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="l01646"></a><span class="lineno"> 1646</span>  str << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l01647"></a><span class="lineno"> 1647</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01648"></a><span class="lineno"> 1648</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>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01638">1638</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="l01639"></a><span class="lineno"> 1639</span> {</div><div class="line"><a name="l01640"></a><span class="lineno"> 1640</span>  std::stringstream str;</div><div class="line"><a name="l01641"></a><span class="lineno"> 1641</span>  str << <span class="stringliteral">"{"</span>;</div><div class="line"><a name="l01642"></a><span class="lineno"> 1642</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="l01643"></a><span class="lineno"> 1643</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="l01644"></a><span class="lineno"> 1644</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="l01645"></a><span class="lineno"> 1645</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="l01646"></a><span class="lineno"> 1646</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="l01647"></a><span class="lineno"> 1647</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="l01648"></a><span class="lineno"> 1648</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="l01649"></a><span class="lineno"> 1649</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="l01650"></a><span class="lineno"> 1650</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="l01651"></a><span class="lineno"> 1651</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="l01652"></a><span class="lineno"> 1652</span>  str << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l01653"></a><span class="lineno"> 1653</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01654"></a><span class="lineno"> 1654</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>
@@ -24724,8 +26208,11 @@
</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#l01700">1700</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="l01701"></a><span class="lineno"> 1701</span> {</div><div class="line"><a name="l01702"></a><span class="lineno"> 1702</span>  std::stringstream str;</div><div class="line"><a name="l01703"></a><span class="lineno"> 1703</span>  str << type;</div><div class="line"><a name="l01704"></a><span class="lineno"> 1704</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01705"></a><span class="lineno"> 1705</span> }</div></div><!-- fragment -->
+<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 << <a class="code" href="namespace_gemm_tuner.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">type</a>;</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 class="ttc" id="namespace_gemm_tuner_xhtml_a7aead736a07eaf25623ad7bfa1f0ee2d"><div class="ttname"><a href="namespace_gemm_tuner.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">GemmTuner.type</a></div><div class="ttdeci">type</div><div class="ttdef"><b>Definition:</b> <a href="_gemm_tuner_8py_source.xhtml#l00527">GemmTuner.py:527</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_gemm_tuner_8py_source.xhtml#l00527">GemmTuner::type</a>.</p>
+
</div>
</div>
<a id="a42e6f8761f01b5846f56c3b8025c8c0a"></a>
@@ -24761,8 +26248,11 @@
</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#l01737">1737</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="l01738"></a><span class="lineno"> 1738</span> {</div><div class="line"><a name="l01739"></a><span class="lineno"> 1739</span>  std::stringstream str;</div><div class="line"><a name="l01740"></a><span class="lineno"> 1740</span>  str << type;</div><div class="line"><a name="l01741"></a><span class="lineno"> 1741</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01742"></a><span class="lineno"> 1742</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01743">1743</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="l01744"></a><span class="lineno"> 1744</span> {</div><div class="line"><a name="l01745"></a><span class="lineno"> 1745</span>  std::stringstream str;</div><div class="line"><a name="l01746"></a><span class="lineno"> 1746</span>  str << <a class="code" href="namespace_gemm_tuner.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">type</a>;</div><div class="line"><a name="l01747"></a><span class="lineno"> 1747</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01748"></a><span class="lineno"> 1748</span> }</div><div class="ttc" id="namespace_gemm_tuner_xhtml_a7aead736a07eaf25623ad7bfa1f0ee2d"><div class="ttname"><a href="namespace_gemm_tuner.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">GemmTuner.type</a></div><div class="ttdeci">type</div><div class="ttdef"><b>Definition:</b> <a href="_gemm_tuner_8py_source.xhtml#l00527">GemmTuner.py:527</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_gemm_tuner_8py_source.xhtml#l00527">GemmTuner::type</a>.</p>
+
</div>
</div>
<a id="a950ba288e8136db4bf52f7c51dea20eb"></a>
@@ -24798,8 +26288,11 @@
</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#l01777">1777</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="l01778"></a><span class="lineno"> 1778</span> {</div><div class="line"><a name="l01779"></a><span class="lineno"> 1779</span>  std::stringstream str;</div><div class="line"><a name="l01780"></a><span class="lineno"> 1780</span>  str << type;</div><div class="line"><a name="l01781"></a><span class="lineno"> 1781</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01782"></a><span class="lineno"> 1782</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01783">1783</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="l01784"></a><span class="lineno"> 1784</span> {</div><div class="line"><a name="l01785"></a><span class="lineno"> 1785</span>  std::stringstream str;</div><div class="line"><a name="l01786"></a><span class="lineno"> 1786</span>  str << <a class="code" href="namespace_gemm_tuner.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">type</a>;</div><div class="line"><a name="l01787"></a><span class="lineno"> 1787</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01788"></a><span class="lineno"> 1788</span> }</div><div class="ttc" id="namespace_gemm_tuner_xhtml_a7aead736a07eaf25623ad7bfa1f0ee2d"><div class="ttname"><a href="namespace_gemm_tuner.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">GemmTuner.type</a></div><div class="ttdeci">type</div><div class="ttdef"><b>Definition:</b> <a href="_gemm_tuner_8py_source.xhtml#l00527">GemmTuner.py:527</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_gemm_tuner_8py_source.xhtml#l00527">GemmTuner::type</a>.</p>
+
</div>
</div>
<a id="aee88a2c259879eb9dc18cb5965e87c29"></a>
@@ -24835,8 +26328,11 @@
</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#l01804">1804</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="l01805"></a><span class="lineno"> 1805</span> {</div><div class="line"><a name="l01806"></a><span class="lineno"> 1806</span>  std::stringstream str;</div><div class="line"><a name="l01807"></a><span class="lineno"> 1807</span>  str << type;</div><div class="line"><a name="l01808"></a><span class="lineno"> 1808</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01809"></a><span class="lineno"> 1809</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01810">1810</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="l01811"></a><span class="lineno"> 1811</span> {</div><div class="line"><a name="l01812"></a><span class="lineno"> 1812</span>  std::stringstream str;</div><div class="line"><a name="l01813"></a><span class="lineno"> 1813</span>  str << <a class="code" href="namespace_gemm_tuner.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">type</a>;</div><div class="line"><a name="l01814"></a><span class="lineno"> 1814</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01815"></a><span class="lineno"> 1815</span> }</div><div class="ttc" id="namespace_gemm_tuner_xhtml_a7aead736a07eaf25623ad7bfa1f0ee2d"><div class="ttname"><a href="namespace_gemm_tuner.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">GemmTuner.type</a></div><div class="ttdeci">type</div><div class="ttdef"><b>Definition:</b> <a href="_gemm_tuner_8py_source.xhtml#l00527">GemmTuner.py:527</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_gemm_tuner_8py_source.xhtml#l00527">GemmTuner::type</a>.</p>
+
</div>
</div>
<a id="a3cf43a216912b361eaffc3c71452a31e"></a>
@@ -24872,8 +26368,11 @@
</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#l01838">1838</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="l01839"></a><span class="lineno"> 1839</span> {</div><div class="line"><a name="l01840"></a><span class="lineno"> 1840</span>  std::stringstream str;</div><div class="line"><a name="l01841"></a><span class="lineno"> 1841</span>  str << type;</div><div class="line"><a name="l01842"></a><span class="lineno"> 1842</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01843"></a><span class="lineno"> 1843</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01844">1844</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="l01845"></a><span class="lineno"> 1845</span> {</div><div class="line"><a name="l01846"></a><span class="lineno"> 1846</span>  std::stringstream str;</div><div class="line"><a name="l01847"></a><span class="lineno"> 1847</span>  str << <a class="code" href="namespace_gemm_tuner.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">type</a>;</div><div class="line"><a name="l01848"></a><span class="lineno"> 1848</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01849"></a><span class="lineno"> 1849</span> }</div><div class="ttc" id="namespace_gemm_tuner_xhtml_a7aead736a07eaf25623ad7bfa1f0ee2d"><div class="ttname"><a href="namespace_gemm_tuner.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">GemmTuner.type</a></div><div class="ttdeci">type</div><div class="ttdef"><b>Definition:</b> <a href="_gemm_tuner_8py_source.xhtml#l00527">GemmTuner.py:527</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_gemm_tuner_8py_source.xhtml#l00527">GemmTuner::type</a>.</p>
+
</div>
</div>
<a id="a853d44a32a328fb4455f6200a11c4785"></a>
@@ -24909,8 +26408,8 @@
</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#l01878">1878</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="l01879"></a><span class="lineno"> 1879</span> {</div><div class="line"><a name="l01880"></a><span class="lineno"> 1880</span>  std::stringstream str;</div><div class="line"><a name="l01881"></a><span class="lineno"> 1881</span>  str << conv_method;</div><div class="line"><a name="l01882"></a><span class="lineno"> 1882</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01883"></a><span class="lineno"> 1883</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01884">1884</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="l01885"></a><span class="lineno"> 1885</span> {</div><div class="line"><a name="l01886"></a><span class="lineno"> 1886</span>  std::stringstream str;</div><div class="line"><a name="l01887"></a><span class="lineno"> 1887</span>  str << conv_method;</div><div class="line"><a name="l01888"></a><span class="lineno"> 1888</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01889"></a><span class="lineno"> 1889</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="aee29ccfc095313663fc954f581ddf40a"></a>
@@ -24946,8 +26445,8 @@
</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#l01957">1957</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="l01958"></a><span class="lineno"> 1958</span> {</div><div class="line"><a name="l01959"></a><span class="lineno"> 1959</span>  std::stringstream str;</div><div class="line"><a name="l01960"></a><span class="lineno"> 1960</span>  str << gpu_target;</div><div class="line"><a name="l01961"></a><span class="lineno"> 1961</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01962"></a><span class="lineno"> 1962</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01963">1963</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="l01964"></a><span class="lineno"> 1964</span> {</div><div class="line"><a name="l01965"></a><span class="lineno"> 1965</span>  std::stringstream str;</div><div class="line"><a name="l01966"></a><span class="lineno"> 1966</span>  str << gpu_target;</div><div class="line"><a name="l01967"></a><span class="lineno"> 1967</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01968"></a><span class="lineno"> 1968</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a41c7dc2aa88c4e30effb2e3f550de481"></a>
@@ -24983,8 +26482,8 @@
</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#l02018">2018</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="l02019"></a><span class="lineno"> 2019</span> {</div><div class="line"><a name="l02020"></a><span class="lineno"> 2020</span>  std::stringstream str;</div><div class="line"><a name="l02021"></a><span class="lineno"> 2021</span>  str << detection_code;</div><div class="line"><a name="l02022"></a><span class="lineno"> 2022</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l02023"></a><span class="lineno"> 2023</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l02024">2024</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="l02025"></a><span class="lineno"> 2025</span> {</div><div class="line"><a name="l02026"></a><span class="lineno"> 2026</span>  std::stringstream str;</div><div class="line"><a name="l02027"></a><span class="lineno"> 2027</span>  str << detection_code;</div><div class="line"><a name="l02028"></a><span class="lineno"> 2028</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l02029"></a><span class="lineno"> 2029</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a4084858fda1caec39457dd70322e6bd6"></a>
@@ -25020,8 +26519,8 @@
</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#l02056">2056</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="l02057"></a><span class="lineno"> 2057</span> {</div><div class="line"><a name="l02058"></a><span class="lineno"> 2058</span>  std::stringstream str;</div><div class="line"><a name="l02059"></a><span class="lineno"> 2059</span>  str << detection_info;</div><div class="line"><a name="l02060"></a><span class="lineno"> 2060</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l02061"></a><span class="lineno"> 2061</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l02062">2062</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="l02063"></a><span class="lineno"> 2063</span> {</div><div class="line"><a name="l02064"></a><span class="lineno"> 2064</span>  std::stringstream str;</div><div class="line"><a name="l02065"></a><span class="lineno"> 2065</span>  str << detection_info;</div><div class="line"><a name="l02066"></a><span class="lineno"> 2066</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l02067"></a><span class="lineno"> 2067</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="aca72973a9a95755e65d17de30f4232e8"></a>
@@ -25057,8 +26556,8 @@
</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#l02093">2093</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="l02094"></a><span class="lineno"> 2094</span> {</div><div class="line"><a name="l02095"></a><span class="lineno"> 2095</span>  std::stringstream str;</div><div class="line"><a name="l02096"></a><span class="lineno"> 2096</span>  str << detection_info;</div><div class="line"><a name="l02097"></a><span class="lineno"> 2097</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l02098"></a><span class="lineno"> 2098</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l02099">2099</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="l02100"></a><span class="lineno"> 2100</span> {</div><div class="line"><a name="l02101"></a><span class="lineno"> 2101</span>  std::stringstream str;</div><div class="line"><a name="l02102"></a><span class="lineno"> 2102</span>  str << detection_info;</div><div class="line"><a name="l02103"></a><span class="lineno"> 2103</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l02104"></a><span class="lineno"> 2104</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a905d7ec8787e8c4b7e88b0a2faaccd1f"></a>
@@ -25094,8 +26593,8 @@
</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#l02105">2105</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="l02106"></a><span class="lineno"> 2106</span> {</div><div class="line"><a name="l02107"></a><span class="lineno"> 2107</span>  std::stringstream str;</div><div class="line"><a name="l02108"></a><span class="lineno"> 2108</span>  str << detection_window;</div><div class="line"><a name="l02109"></a><span class="lineno"> 2109</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l02110"></a><span class="lineno"> 2110</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l02111">2111</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="l02112"></a><span class="lineno"> 2112</span> {</div><div class="line"><a name="l02113"></a><span class="lineno"> 2113</span>  std::stringstream str;</div><div class="line"><a name="l02114"></a><span class="lineno"> 2114</span>  str << detection_window;</div><div class="line"><a name="l02115"></a><span class="lineno"> 2115</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l02116"></a><span class="lineno"> 2116</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a51fc944d872cf00c1e8e71ccdf8be264"></a>
@@ -25131,8 +26630,8 @@
</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#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 << termination;</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 -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l02151">2151</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="l02152"></a><span class="lineno"> 2152</span> {</div><div class="line"><a name="l02153"></a><span class="lineno"> 2153</span>  std::stringstream str;</div><div class="line"><a name="l02154"></a><span class="lineno"> 2154</span>  str << termination;</div><div class="line"><a name="l02155"></a><span class="lineno"> 2155</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l02156"></a><span class="lineno"> 2156</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="add33a9d992aeaa69d6940fd896ee5e75"></a>
@@ -25168,8 +26667,8 @@
</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#l02194">2194</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="l02195"></a><span class="lineno"> 2195</span> {</div><div class="line"><a name="l02196"></a><span class="lineno"> 2196</span>  std::stringstream str;</div><div class="line"><a name="l02197"></a><span class="lineno"> 2197</span>  str << cpu_model;</div><div class="line"><a name="l02198"></a><span class="lineno"> 2198</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l02199"></a><span class="lineno"> 2199</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l02200">2200</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="l02201"></a><span class="lineno"> 2201</span> {</div><div class="line"><a name="l02202"></a><span class="lineno"> 2202</span>  std::stringstream str;</div><div class="line"><a name="l02203"></a><span class="lineno"> 2203</span>  str << cpu_model;</div><div class="line"><a name="l02204"></a><span class="lineno"> 2204</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l02205"></a><span class="lineno"> 2205</span> }</div></div><!-- fragment -->
</div>
</div>
<a id="a6411da4e87e64e8859f8b725645ee9aa"></a>
@@ -25197,8 +26696,11 @@
</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#l02258">2258</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="l02259"></a><span class="lineno"> 2259</span> {</div><div class="line"><a name="l02260"></a><span class="lineno"> 2260</span>  std::stringstream str;</div><div class="line"><a name="l02261"></a><span class="lineno"> 2261</span>  str << args;</div><div class="line"><a name="l02262"></a><span class="lineno"> 2262</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l02263"></a><span class="lineno"> 2263</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l02264">2264</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="l02265"></a><span class="lineno"> 2265</span> {</div><div class="line"><a name="l02266"></a><span class="lineno"> 2266</span>  std::stringstream str;</div><div class="line"><a name="l02267"></a><span class="lineno"> 2267</span>  str << <a class="code" href="namespace_gemm_tuner.xhtml#a8187411843a6284ffb964ef3fb9fcab3">args</a>;</div><div class="line"><a name="l02268"></a><span class="lineno"> 2268</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l02269"></a><span class="lineno"> 2269</span> }</div><div class="ttc" id="namespace_gemm_tuner_xhtml_a8187411843a6284ffb964ef3fb9fcab3"><div class="ttname"><a href="namespace_gemm_tuner.xhtml#a8187411843a6284ffb964ef3fb9fcab3">GemmTuner.args</a></div><div class="ttdeci">args</div><div class="ttdef"><b>Definition:</b> <a href="_gemm_tuner_8py_source.xhtml#l00555">GemmTuner.py:555</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_gemm_tuner_8py_source.xhtml#l00555">GemmTuner::args</a>.</p>
+
</div>
</div>
<a id="a37cc282b0852aab04b13a6e6566adda7"></a>
@@ -25225,8 +26727,11 @@
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l02276">2276</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="l02277"></a><span class="lineno"> 2277</span> {</div><div class="line"><a name="l02278"></a><span class="lineno"> 2278</span>  std::stringstream str;</div><div class="line"><a name="l02279"></a><span class="lineno"> 2279</span>  str << type;</div><div class="line"><a name="l02280"></a><span class="lineno"> 2280</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l02281"></a><span class="lineno"> 2281</span> }</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l02282">2282</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="l02283"></a><span class="lineno"> 2283</span> {</div><div class="line"><a name="l02284"></a><span class="lineno"> 2284</span>  std::stringstream str;</div><div class="line"><a name="l02285"></a><span class="lineno"> 2285</span>  str << <a class="code" href="namespace_gemm_tuner.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">type</a>;</div><div class="line"><a name="l02286"></a><span class="lineno"> 2286</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l02287"></a><span class="lineno"> 2287</span> }</div><div class="ttc" id="namespace_gemm_tuner_xhtml_a7aead736a07eaf25623ad7bfa1f0ee2d"><div class="ttname"><a href="namespace_gemm_tuner.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">GemmTuner.type</a></div><div class="ttdeci">type</div><div class="ttdef"><b>Definition:</b> <a href="_gemm_tuner_8py_source.xhtml#l00527">GemmTuner.py:527</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_gemm_tuner_8py_source.xhtml#l00527">GemmTuner::type</a>.</p>
+
</div>
</div>
<a id="a1d8c24abe3cf6edd704d126d1d2a5420"></a>
@@ -25262,10 +26767,10 @@
</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#l02290">2290</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="l02291"></a><span class="lineno"> 2291</span> {</div><div class="line"><a name="l02292"></a><span class="lineno"> 2292</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#ad87338ac39245d071b66a4f55cb06a16">support::cpp11::to_string</a>(val);</div><div class="line"><a name="l02293"></a><span class="lineno"> 2293</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_ad87338ac39245d071b66a4f55cb06a16"><div class="ttname"><a href="namespacearm__compute.xhtml#ad87338ac39245d071b66a4f55cb06a16">arm_compute::to_string</a></div><div class="ttdeci">std::string to_string(const CLTunerMode val)</div><div class="ttdoc">Convert a CLTunerMode value to a string.</div><div class="ttdef"><b>Definition:</b> <a href="utils_2_type_printer_8h_source.xhtml#l02301">TypePrinter.h:2301</a></div></div>
+<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l02296">2296</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="l02297"></a><span class="lineno"> 2297</span> {</div><div class="line"><a name="l02298"></a><span class="lineno"> 2298</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#ad87338ac39245d071b66a4f55cb06a16">support::cpp11::to_string</a>(val);</div><div class="line"><a name="l02299"></a><span class="lineno"> 2299</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_ad87338ac39245d071b66a4f55cb06a16"><div class="ttname"><a href="namespacearm__compute.xhtml#ad87338ac39245d071b66a4f55cb06a16">arm_compute::to_string</a></div><div class="ttdeci">std::string to_string(const CLTunerMode val)</div><div class="ttdoc">Convert a CLTunerMode value to a string.</div><div class="ttdef"><b>Definition:</b> <a href="utils_2_type_printer_8h_source.xhtml#l02307">TypePrinter.h:2307</a></div></div>
</div><!-- fragment -->
-<p class="reference">References <a class="el" href="_toolchain_support_8h_source.xhtml#l00242">arm_compute::support::cpp11::to_string()</a>.</p>
+<p class="reference">References <a class="el" href="_toolchain_support_8h_source.xhtml#l00272">arm_compute::support::cpp11::to_string()</a>.</p>
</div>
</div>
@@ -25302,10 +26807,10 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>String representing the corresponding CLTunerMode. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l02301">2301</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="l02302"></a><span class="lineno"> 2302</span> {</div><div class="line"><a name="l02303"></a><span class="lineno"> 2303</span>  <span class="keywordflow">switch</span>(val)</div><div class="line"><a name="l02304"></a><span class="lineno"> 2304</span>  {</div><div class="line"><a name="l02305"></a><span class="lineno"> 2305</span>  <span class="keywordflow">case</span> CLTunerMode::EXHAUSTIVE:</div><div class="line"><a name="l02306"></a><span class="lineno"> 2306</span>  {</div><div class="line"><a name="l02307"></a><span class="lineno"> 2307</span>  <span class="keywordflow">return</span> std::string(<span class="stringliteral">"Exhaustive"</span>);</div><div class="line"><a name="l02308"></a><span class="lineno"> 2308</span>  }</div><div class="line"><a name="l02309"></a><span class="lineno"> 2309</span>  <span class="keywordflow">case</span> CLTunerMode::NORMAL:</div><div class="line"><a name="l02310"></a><span class="lineno"> 2310</span>  {</div><div class="line"><a name="l02311"></a><span class="lineno"> 2311</span>  <span class="keywordflow">return</span> std::string(<span class="stringliteral">"Normal"</span>);</div><div class="line"><a name="l02312"></a><span class="lineno"> 2312</span>  }</div><div class="line"><a name="l02313"></a><span class="lineno"> 2313</span>  <span class="keywordflow">case</span> CLTunerMode::RAPID:</div><div class="line"><a name="l02314"></a><span class="lineno"> 2314</span>  {</div><div class="line"><a name="l02315"></a><span class="lineno"> 2315</span>  <span class="keywordflow">return</span> std::string(<span class="stringliteral">"Rapid"</span>);</div><div class="line"><a name="l02316"></a><span class="lineno"> 2316</span>  }</div><div class="line"><a name="l02317"></a><span class="lineno"> 2317</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l02318"></a><span class="lineno"> 2318</span>  {</div><div class="line"><a name="l02319"></a><span class="lineno"> 2319</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Invalid tuner mode."</span>);</div><div class="line"><a name="l02320"></a><span class="lineno"> 2320</span>  <span class="keywordflow">return</span> std::string(<span class="stringliteral">"UNDEFINED"</span>);</div><div class="line"><a name="l02321"></a><span class="lineno"> 2321</span>  }</div><div class="line"><a name="l02322"></a><span class="lineno"> 2322</span>  }</div><div class="line"><a name="l02323"></a><span class="lineno"> 2323</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#l02307">2307</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="l02308"></a><span class="lineno"> 2308</span> {</div><div class="line"><a name="l02309"></a><span class="lineno"> 2309</span>  <span class="keywordflow">switch</span>(val)</div><div class="line"><a name="l02310"></a><span class="lineno"> 2310</span>  {</div><div class="line"><a name="l02311"></a><span class="lineno"> 2311</span>  <span class="keywordflow">case</span> CLTunerMode::EXHAUSTIVE:</div><div class="line"><a name="l02312"></a><span class="lineno"> 2312</span>  {</div><div class="line"><a name="l02313"></a><span class="lineno"> 2313</span>  <span class="keywordflow">return</span> std::string(<span class="stringliteral">"Exhaustive"</span>);</div><div class="line"><a name="l02314"></a><span class="lineno"> 2314</span>  }</div><div class="line"><a name="l02315"></a><span class="lineno"> 2315</span>  <span class="keywordflow">case</span> CLTunerMode::NORMAL:</div><div class="line"><a name="l02316"></a><span class="lineno"> 2316</span>  {</div><div class="line"><a name="l02317"></a><span class="lineno"> 2317</span>  <span class="keywordflow">return</span> std::string(<span class="stringliteral">"Normal"</span>);</div><div class="line"><a name="l02318"></a><span class="lineno"> 2318</span>  }</div><div class="line"><a name="l02319"></a><span class="lineno"> 2319</span>  <span class="keywordflow">case</span> CLTunerMode::RAPID:</div><div class="line"><a name="l02320"></a><span class="lineno"> 2320</span>  {</div><div class="line"><a name="l02321"></a><span class="lineno"> 2321</span>  <span class="keywordflow">return</span> std::string(<span class="stringliteral">"Rapid"</span>);</div><div class="line"><a name="l02322"></a><span class="lineno"> 2322</span>  }</div><div class="line"><a name="l02323"></a><span class="lineno"> 2323</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l02324"></a><span class="lineno"> 2324</span>  {</div><div class="line"><a name="l02325"></a><span class="lineno"> 2325</span>  <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Invalid tuner mode."</span>);</div><div class="line"><a name="l02326"></a><span class="lineno"> 2326</span>  <span class="keywordflow">return</span> std::string(<span class="stringliteral">"UNDEFINED"</span>);</div><div class="line"><a name="l02327"></a><span class="lineno"> 2327</span>  }</div><div class="line"><a name="l02328"></a><span class="lineno"> 2328</span>  }</div><div class="line"><a name="l02329"></a><span class="lineno"> 2329</span> }</div><div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</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#l00352">Error.h:352</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#ae76ef5bd3ad69f7380ebb3ac6033ec5ca39e07a5dab0694c7ebb6a0578511ee15">EXHAUSTIVE</a>, <a class="el" href="namespacearm__compute.xhtml#a4c9101ca1a1f72f48efff28b4b9a6495a1e23852820b9154316c7c06e2b7ba051">NORMAL</a>, and <a class="el" href="namespacearm__compute.xhtml#ae76ef5bd3ad69f7380ebb3ac6033ec5caba44d3559b36fc1c14e5752bccce1eef">RAPID</a>.</p>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00352">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ae76ef5bd3ad69f7380ebb3ac6033ec5ca39e07a5dab0694c7ebb6a0578511ee15">EXHAUSTIVE</a>, <a class="el" href="namespacearm__compute.xhtml#a4c9101ca1a1f72f48efff28b4b9a6495a1e23852820b9154316c7c06e2b7ba051">NORMAL</a>, and <a class="el" href="namespacearm__compute.xhtml#ae76ef5bd3ad69f7380ebb3ac6033ec5caba44d3559b36fc1c14e5752bccce1eef">RAPID</a>.</p>
</div>
</div>
@@ -25335,7 +26840,7 @@
<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>
-<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#ad87338ac39245d071b66a4f55cb06a16">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_ad87338ac39245d071b66a4f55cb06a16"><div class="ttname"><a href="namespacearm__compute.xhtml#ad87338ac39245d071b66a4f55cb06a16">arm_compute::to_string</a></div><div class="ttdeci">std::string to_string(const CLTunerMode val)</div><div class="ttdoc">Convert a CLTunerMode value to a string.</div><div class="ttdef"><b>Definition:</b> <a href="utils_2_type_printer_8h_source.xhtml#l02301">TypePrinter.h:2301</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#ad87338ac39245d071b66a4f55cb06a16">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_ad87338ac39245d071b66a4f55cb06a16"><div class="ttname"><a href="namespacearm__compute.xhtml#ad87338ac39245d071b66a4f55cb06a16">arm_compute::to_string</a></div><div class="ttdeci">std::string to_string(const CLTunerMode val)</div><div class="ttdoc">Convert a CLTunerMode value to a string.</div><div class="ttdef"><b>Definition:</b> <a href="utils_2_type_printer_8h_source.xhtml#l02307">TypePrinter.h:2307</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>
@@ -25375,9 +26880,9 @@
<dl class="section return"><dt>Returns</dt><dd>Converted CLTunerMode enumeration </dd></dl>
<p class="definition">Definition at line <a class="el" href="_c_l_tuner_types_8h_source.xhtml#l00048">48</a> of file <a class="el" href="_c_l_tuner_types_8h_source.xhtml">CLTunerTypes.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>  <span class="keyword">static</span> <span class="keyword">const</span> std::map<std::string, CLTunerMode> tuner_modes =</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="stringliteral">"exhaustive"</span>, CLTunerMode::EXHAUSTIVE },</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  { <span class="stringliteral">"normal"</span>, CLTunerMode::NORMAL },</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  { <span class="stringliteral">"rapid"</span>, CLTunerMode::RAPID },</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> </div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#ifndef ARM_COMPUTE_EXCEPTIONS_DISABLED</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keywordflow">try</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> <span class="preprocessor">#endif </span><span class="comment">/* ARM_COMPUTE_EXCEPTIONS_DISABLED */</span><span class="preprocessor"></span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordflow">return</span> tuner_modes.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="preprocessor">#ifndef ARM_COMPUTE_EXCEPTIONS_DISABLED</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>  <span class="keywordflow">catch</span>(<span class="keyword">const</span> std::out_of_range &)</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(name);</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="preprocessor">#endif </span><span class="comment">/* ARM_COMPUTE_EXCEPTIONS_DISABLED */</span><span class="preprocessor"></span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</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 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>  <span class="keyword">static</span> <span class="keyword">const</span> std::map<std::string, CLTunerMode> tuner_modes =</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="stringliteral">"exhaustive"</span>, CLTunerMode::EXHAUSTIVE },</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  { <span class="stringliteral">"normal"</span>, CLTunerMode::NORMAL },</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  { <span class="stringliteral">"rapid"</span>, CLTunerMode::RAPID },</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> </div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#ifndef ARM_COMPUTE_EXCEPTIONS_DISABLED</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keywordflow">try</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> <span class="preprocessor">#endif </span><span class="comment">/* ARM_COMPUTE_EXCEPTIONS_DISABLED */</span><span class="preprocessor"></span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordflow">return</span> tuner_modes.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="preprocessor">#ifndef ARM_COMPUTE_EXCEPTIONS_DISABLED</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>  <span class="keywordflow">catch</span>(<span class="keyword">const</span> std::out_of_range &)</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(name);</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="preprocessor">#endif </span><span class="comment">/* ARM_COMPUTE_EXCEPTIONS_DISABLED */</span><span class="preprocessor"></span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</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#l00203">Utility.h:203</a></div></div>
</div><!-- fragment -->
-<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#ae76ef5bd3ad69f7380ebb3ac6033ec5ca39e07a5dab0694c7ebb6a0578511ee15">EXHAUSTIVE</a>, <a class="el" href="namespacearm__compute.xhtml#a4c9101ca1a1f72f48efff28b4b9a6495a1e23852820b9154316c7c06e2b7ba051">NORMAL</a>, <a class="el" href="namespacearm__compute.xhtml#ae76ef5bd3ad69f7380ebb3ac6033ec5caba44d3559b36fc1c14e5752bccce1eef">RAPID</a>, and <a class="el" href="_utility_8h_source.xhtml#l00188">arm_compute::utility::tolower()</a>.</p>
+<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#ae76ef5bd3ad69f7380ebb3ac6033ec5ca39e07a5dab0694c7ebb6a0578511ee15">EXHAUSTIVE</a>, <a class="el" href="namespacearm__compute.xhtml#a4c9101ca1a1f72f48efff28b4b9a6495a1e23852820b9154316c7c06e2b7ba051">NORMAL</a>, <a class="el" href="namespacearm__compute.xhtml#ae76ef5bd3ad69f7380ebb3ac6033ec5caba44d3559b36fc1c14e5752bccce1eef">RAPID</a>, and <a class="el" href="_utility_8h_source.xhtml#l00203">arm_compute::utility::tolower()</a>.</p>
</div>
</div>
@@ -25420,16 +26925,16 @@
<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 & <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a1a367830ae09bf6138df822888ec1d71">w</a>)</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 |= <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a1a367830ae09bf6138df822888ec1d71">w</a>.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 & <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a1a367830ae09bf6138df822888ec1d71">w</a>)</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 |= <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a1a367830ae09bf6138df822888ec1d71">w</a>.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_1test_1_1validation_xhtml_a1a367830ae09bf6138df822888ec1d71"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a1a367830ae09bf6138df822888ec1d71">arm_compute::test::validation::w</a></div><div class="ttdeci">SimpleTensor< float > w</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_2_d_f_t_8cpp_source.xhtml#l00156">DFT.cpp:156</a></div></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 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#l00108">Utility.h:108</a></div></div>
</div><!-- fragment -->
-<p class="reference">References <a class="el" href="_utility_8h_source.xhtml#l00093">arm_compute::utility::for_each()</a>, and <a class="el" href="_c_p_p_2_d_f_t_8cpp_source.xhtml#l00156">arm_compute::test::validation::w</a>.</p>
+<p class="reference">References <a class="el" href="_utility_8h_source.xhtml#l00108">arm_compute::utility::for_each()</a>, and <a class="el" href="_c_p_p_2_d_f_t_8cpp_source.xhtml#l00156">arm_compute::test::validation::w</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#l00119">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="_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="_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#l00054">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#l00359">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#l00060">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#l00044">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#l00085">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_non_linear_filter_kernel_8cpp_source.xhtml#l00353">NENonLinearFilterKernel::configure()</a>, <a class="el" href="_n_e_threshold_kernel_8cpp_source.xhtml#l00042">NEThresholdKernel::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="_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_p_p_corner_candidates_kernel_8cpp_source.xhtml#l00074">CPPCornerCandidatesKernel::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="_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_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#l00158">CLHistogramBorderKernel::configure()</a>, <a class="el" href="_c_l_gaussian_pyramid_kernel_8cpp_source.xhtml#l00150">CLGaussianPyramidVertKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00120">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#l00139">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#l00130">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#l00148">CLSobel5x5VertKernel::configure()</a>, <a class="el" href="_c_l_sobel7x7_kernel_8cpp_source.xhtml#l00150">CLSobel7x7VertKernel::configure()</a>, <a class="el" href="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00133">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#l00199">CLSeparableConvolutionVertKernel< matrix_size >::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00194">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#l00281">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>, and <a class="el" href="_n_e_depthwise_convolution_layer_native_kernel_8cpp_source.xhtml#l00221">validate_and_configure_window()</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_gaussian3x3_kernel_8cpp_source.xhtml#l00042">CLGaussian3x3Kernel::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_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="_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="_n_e_integral_image_kernel_8cpp_source.xhtml#l00038">NEIntegralImageKernel::configure()</a>, <a class="el" href="_c_l_warp_affine_kernel_8cpp_source.xhtml#l00061">CLWarpAffineKernel::configure()</a>, <a class="el" href="_n_e_box3x3_kernel_8cpp_source.xhtml#l00119">NEBox3x3Kernel::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="_g_c_scale_kernel_8cpp_source.xhtml#l00047">GCScaleKernel::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_min_max_location_kernel_8cpp_source.xhtml#l00062">CLMinMaxKernel::configure()</a>, <a class="el" href="_c_l_bitwise_or_kernel_8cpp_source.xhtml#l00041">CLBitwiseOrKernel::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="_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_depthwise_convolution_layer3x3_kernel_8cpp_source.xhtml#l00051">GCDepthwiseConvolutionLayer3x3Kernel::configure()</a>, <a class="el" href="_c_l_derivative_kernel_8cpp_source.xhtml#l00050">CLDerivativeKernel::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_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_warp_kernel_8cpp_source.xhtml#l00067">INEWarpKernel::configure()</a>, <a class="el" href="_c_l_h_o_g_descriptor_kernel_8cpp_source.xhtml#l00048">CLHOGOrientationBinningKernel::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_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="_c_l_channel_extract_kernel_8cpp_source.xhtml#l00050">CLChannelExtractKernel::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_magnitude_phase_kernel_8cpp_source.xhtml#l00046">CLMagnitudePhaseKernel::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="_n_e_derivative_kernel_8cpp_source.xhtml#l00054">NEDerivativeKernel::configure()</a>, <a class="el" href="_c_l_channel_combine_kernel_8cpp_source.xhtml#l00054">CLChannelCombineKernel::configure()</a>, <a class="el" href="_n_e_color_convert_kernel_8cpp_source.xhtml#l00045">NEColorConvertKernel::configure()</a>, <a class="el" href="_g_c_activation_layer_kernel_8cpp_source.xhtml#l00047">GCActivationLayerKernel::configure()</a>, <a class="el" href="_g_c_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00044">GCDepthConcatenateLayerKernel::configure()</a>, <a class="el" href="_n_e_non_linear_filter_kernel_8cpp_source.xhtml#l00353">NENonLinearFilterKernel::configure()</a>, <a class="el" href="_c_l_integral_image_kernel_8cpp_source.xhtml#l00085">CLIntegralImageVertKernel::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_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="_n_e_sobel7x7_kernel_8cpp_source.xhtml#l00153">NESobel7x7HorKernel::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="_n_e_h_o_g_detector_kernel_8cpp_source.xhtml#l00042">NEHOGDetectorKernel::configure()</a>, <a class="el" href="_c_p_p_corner_candidates_kernel_8cpp_source.xhtml#l00076">CPPCornerCandidatesKernel::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="_n_e_sobel3x3_kernel_8cpp_source.xhtml#l00048">NESobel3x3Kernel::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_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#l00150">CLGaussianPyramidVertKernel::configure()</a>, <a class="el" href="_c_l_histogram_kernel_8cpp_source.xhtml#l00158">CLHistogramBorderKernel::configure()</a>, <a class="el" href="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00120">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#l00139">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#l00150">CLSobel7x7VertKernel::configure()</a>, <a class="el" href="_c_l_sobel5x5_kernel_8cpp_source.xhtml#l00148">CLSobel5x5VertKernel::configure()</a>, <a class="el" href="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00133">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="_c_l_canny_edge_kernel_8cpp_source.xhtml#l00194">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="_c_l_convolution_kernel_8cpp_source.xhtml#l00281">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="_n_e_convolution_kernel_8cpp_source.xhtml#l01427">NEConvolutionRectangleKernel::configure()</a>.</p>
</div>
</div>
-<a id="abe949a509da417044624d62a73057441"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#abe949a509da417044624d62a73057441">◆ </a></span>vadd() <span class="overload">[1/3]</span></h2>
+<a id="ab11431f1a64a618e5ed1d37634d0e0fe"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab11431f1a64a618e5ed1d37634d0e0fe">◆ </a></span>vadd() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -25438,15 +26943,15 @@
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>< float > arm_compute::vadd </td>
+ <td class="memname"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>< float > arm_compute::vadd </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>< float > </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>< float > </td>
<td class="paramname"><em>a</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>< float > </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>< float > </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -25466,8 +26971,8 @@
<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div></div><!-- fragment -->
</div>
</div>
-<a id="ab11431f1a64a618e5ed1d37634d0e0fe"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab11431f1a64a618e5ed1d37634d0e0fe">◆ </a></span>vadd() <span class="overload">[2/3]</span></h2>
+<a id="abe949a509da417044624d62a73057441"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abe949a509da417044624d62a73057441">◆ </a></span>vadd() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -25476,15 +26981,15 @@
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>< float > arm_compute::vadd </td>
+ <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>< float > arm_compute::vadd </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>< float > </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>< float > </td>
<td class="paramname"><em>a</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>< float > </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>< float > </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -25537,53 +27042,71 @@
</div>
</div>
-<a id="ad6630777dc2d315531f1e0b02491051f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad6630777dc2d315531f1e0b02491051f">◆ </a></span>validate_and_configure_window()</h2>
+<a id="a4feaaa70771629f4b5dcf3b219c8b647"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4feaaa70771629f4b5dcf3b219c8b647">◆ </a></span>validate()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">std::pair<<a class="el" href="classarm__compute_1_1_status.xhtml">Status</a>, <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a>> arm_compute::validate_and_configure_window </td>
+ <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">Status</a> arm_compute::validate </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> * </td>
- <td class="paramname"><em>input</em>, </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> * </td>
+ <td class="paramname"><em>scores_in</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> * </td>
- <td class="paramname"><em>weights</em>, </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> * </td>
+ <td class="paramname"><em>boxes_in</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> * </td>
- <td class="paramname"><em>biases</em>, </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> * </td>
+ <td class="paramname"><em>batch_splits_in</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> * </td>
- <td class="paramname"><em>output</em>, </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> * </td>
+ <td class="paramname"><em>scores_out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const <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="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> * </td>
+ <td class="paramname"><em>boxes_out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">unsigned int </td>
- <td class="paramname"><em>depth_multiplier</em>, </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> * </td>
+ <td class="paramname"><em>classes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> & </td>
- <td class="paramname"><em>dilation</em> </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> * </td>
+ <td class="paramname"><em>batch_splits_out</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> * </td>
+ <td class="paramname"><em>keeps</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> * </td>
+ <td class="paramname"><em>keeps_size</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_box_n_m_s_limit_info.xhtml">BoxNMSLimitInfo</a> </td>
+ <td class="paramname"><em>info</em> </td>
</tr>
<tr>
<td></td>
@@ -25593,22 +27116,72 @@
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="_n_e_depthwise_convolution_layer_native_kernel_8cpp_source.xhtml#l00221">221</a> of file <a class="el" href="_n_e_depthwise_convolution_layer_native_kernel_8cpp_source.xhtml">NEDepthwiseConvolutionLayerNativeKernel.cpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00224"></a><span class="lineno"> 224</span> {</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <span class="comment">// Get convolved dimensions</span></div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <span class="keyword">const</span> TensorShape <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7fc93f37dac131a1a40b7921f9df3a9a">output_shape</a> = <a class="code" href="namespacearm__compute_1_1misc_1_1shape__calculator.xhtml#ac7147815227e7ba91814cfdcd38f23ed">misc::shape_calculator::compute_depthwise_convolution_shape</a>(*input, *<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a64a08a9fec5aeee8650e7182b6d171d0">weights</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a00525ff582f16038a1d3819aa44a23a3">conv_info</a>, depth_multiplier, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad3fd4136244e42ad89b01c02b904336d">dilation</a>);</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="comment">// Output auto inizialitation if not yet initialized</span></div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <a class="code" href="namespacearm__compute.xhtml#a47be6fa38308d0003c25b60b7dbc45ce">auto_init_if_empty</a>(*output, input->clone()->set_is_resizable(<span class="keyword">true</span>).reset_padding().set_tensor_shape(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7fc93f37dac131a1a40b7921f9df3a9a">output_shape</a>));</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="comment">// Configure kernel window (generic)</span></div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> num_elems_read_per_iteration = (depth_multiplier == 1) ? 8 / <a class="code" href="namespacearm__compute.xhtml#a34b06c0cd94808a77b697e79880b84b0">element_size_from_data_type</a>(input->data_type()) : 1;</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> num_elems_written_per_iteration = num_elems_read_per_iteration * depth_multiplier;</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <span class="comment">// Configure kernel window</span></div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  Window win = <a class="code" href="namespacearm__compute.xhtml#ab7980fa5ee693e3282a76da047a1c3b5">calculate_max_window</a>(*output, Steps(num_elems_written_per_iteration));</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>  AccessWindowStatic input_access(input, 0, -<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a00525ff582f16038a1d3819aa44a23a3">conv_info</a>.pad_left(), <a class="code" href="namespacearm__compute.xhtml#ab237a0a375cf382d52b61653248d3d4a">ceil_to_multiple</a>(num_elems_read_per_iteration, input->dimension(0)),</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  input->dimension(1) + std::max(std::max(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a00525ff582f16038a1d3819aa44a23a3">conv_info</a>.pad_right(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a00525ff582f16038a1d3819aa44a23a3">conv_info</a>.pad_bottom()), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a00525ff582f16038a1d3819aa44a23a3">conv_info</a>.pad_top()));</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  AccessWindowHorizontal weights_access(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a64a08a9fec5aeee8650e7182b6d171d0">weights</a>, 0, num_elems_written_per_iteration);</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  AccessWindowHorizontal output_access(output, 0, num_elems_written_per_iteration);</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="keywordtype">bool</span> window_changed = <a class="code" href="namespacearm__compute.xhtml#afc4bd8e872567d9c4c57d89eb0bb3da1">update_window_and_padding</a>(win, input_access, weights_access, output_access);</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">if</span>(biases != <span class="keyword">nullptr</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>  AccessWindowHorizontal biases_access(biases, 0, num_elems_written_per_iteration);</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  window_changed |= <a class="code" href="namespacearm__compute.xhtml#afc4bd8e872567d9c4c57d89eb0bb3da1">update_window_and_padding</a>(win, biases_access);</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> </div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  output_access.set_valid_region(win, ValidRegion(Coordinates(), output->tensor_shape()));</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>  Status err = (window_changed) ? <a class="code" href="_error_8h.xhtml#a046fbca6a9505ce038bc02830c739fed">ARM_COMPUTE_CREATE_ERROR</a>(ErrorCode::RUNTIME_ERROR, <span class="stringliteral">"Insufficient Padding!"</span>) : Status{};</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <span class="keywordflow">return</span> std::make_pair(err, win);</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span> }</div><div class="ttc" id="namespacearm__compute_1_1misc_1_1shape__calculator_xhtml_ac7147815227e7ba91814cfdcd38f23ed"><div class="ttname"><a href="namespacearm__compute_1_1misc_1_1shape__calculator.xhtml#ac7147815227e7ba91814cfdcd38f23ed">arm_compute::misc::shape_calculator::compute_depthwise_convolution_shape</a></div><div class="ttdeci">TensorShape compute_depthwise_convolution_shape(const ITensorInfo &input, const ITensorInfo &weights, PadStrideInfo conv_info, unsigned int depth_multiplier, const Size2D &dilation=Size2D(1U, 1U))</div><div class="ttdoc">Calculate the depthwise convolution output shape of a tensor.</div><div class="ttdef"><b>Definition:</b> <a href="_shape_calculator_8h_source.xhtml#l00410">ShapeCalculator.h:410</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="namespacearm__compute_1_1test_1_1validation_xhtml_a00525ff582f16038a1d3819aa44a23a3"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a00525ff582f16038a1d3819aa44a23a3">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#l00599">Winograd.cpp:599</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a34b06c0cd94808a77b697e79880b84b0"><div class="ttname"><a href="namespacearm__compute.xhtml#a34b06c0cd94808a77b697e79880b84b0">arm_compute::element_size_from_data_type</a></div><div class="ttdeci">size_t element_size_from_data_type(DataType dt)</div><div class="ttdoc">The size in bytes of the data type.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00184">Utils.h:184</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a046fbca6a9505ce038bc02830c739fed"><div class="ttname"><a href="_error_8h.xhtml#a046fbca6a9505ce038bc02830c739fed">ARM_COMPUTE_CREATE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_CREATE_ERROR(error_code,...)</div><div class="ttdoc">Creates an error with a given message.</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00167">Error.h:167</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ab7980fa5ee693e3282a76da047a1c3b5"><div class="ttname"><a href="namespacearm__compute.xhtml#ab7980fa5ee693e3282a76da047a1c3b5">arm_compute::calculate_max_window</a></div><div class="ttdeci">Window calculate_max_window(const ValidRegion &valid_region, 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="src_2core_2_helpers_8cpp_source.xhtml#l00028">Helpers.cpp:28</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a47be6fa38308d0003c25b60b7dbc45ce"><div class="ttname"><a href="namespacearm__compute.xhtml#a47be6fa38308d0003c25b60b7dbc45ce">arm_compute::auto_init_if_empty</a></div><div class="ttdeci">bool auto_init_if_empty(ITensorInfo &info, const TensorShape &shape, int num_channels, DataType data_type, QuantizationInfo quantization_info=QuantizationInfo())</div><div class="ttdoc">Auto initialize the tensor info (shape, number of channels and data type) if the current assignment i...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00201">Helpers.inl:201</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_afc4bd8e872567d9c4c57d89eb0bb3da1"><div class="ttname"><a href="namespacearm__compute.xhtml#afc4bd8e872567d9c4c57d89eb0bb3da1">arm_compute::update_window_and_padding</a></div><div class="ttdeci">bool update_window_and_padding(Window &win, Ts &&... patterns)</div><div class="ttdoc">Update window and padding size for each of the access patterns.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00402">Helpers.h:402</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#l00066">Utils.h:66</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7fc93f37dac131a1a40b7921f9df3a9a"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7fc93f37dac131a1a40b7921f9df3a9a">arm_compute::test::validation::output_shape</a></div><div class="ttdeci">output_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_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>
+<p class="definition">Definition at line <a class="el" href="_c_p_p_box_with_non_maxima_suppression_limit_8cpp_source.xhtml#l00196">196</a> of file <a class="el" href="_c_p_p_box_with_non_maxima_suppression_limit_8cpp_source.xhtml">CPPBoxWithNonMaximaSuppressionLimit.cpp</a>.</p>
+<div class="fragment"><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#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(batch_splits_in, batch_splits_out, keeps, keeps_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a4f4125dba5283887b34f889b1c615c0c">info</a>);</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <a class="code" href="_validate_8h.xhtml#aff911654521523937ff24372a870b89f">ARM_COMPUTE_RETURN_ERROR_ON_NULLPTR</a>(scores_in, boxes_in, scores_out, boxes_out, classes);</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <a class="code" href="_validate_8h.xhtml#ae7eed178dac535c6e727061b1f5bc6eb">ARM_COMPUTE_RETURN_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN</a>(scores_in, 1, DataType::QASYMM8, DataType::F16, DataType::F32);</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>  <span class="keyword">const</span> <span class="keywordtype">bool</span> is_qasymm8 = scores_in->data_type() == DataType::QASYMM8;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <span class="keywordflow">if</span>(is_qasymm8)</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  {</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <a class="code" href="_validate_8h.xhtml#ae7eed178dac535c6e727061b1f5bc6eb">ARM_COMPUTE_RETURN_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN</a>(boxes_in, 1, DataType::QASYMM16);</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <a class="code" href="_validate_8h.xhtml#a8f3ff7da485ff7e75dab07baadf5b4bd">ARM_COMPUTE_RETURN_ERROR_ON_MISMATCHING_DATA_TYPES</a>(boxes_in, boxes_out);</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <a class="code" href="_validate_8h.xhtml#aba910b683652be1f65437ef37a9da2a9">ARM_COMPUTE_RETURN_ERROR_ON_MISMATCHING_QUANTIZATION_INFO</a>(boxes_in, boxes_out);</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <span class="keyword">const</span> UniformQuantizationInfo boxes_qinfo = boxes_in->quantization_info().uniform();</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <a class="code" href="_error_8h.xhtml#a206d6e247e0957ac3dee45d27756fc25">ARM_COMPUTE_RETURN_ERROR_ON</a>(boxes_qinfo.scale != 0.125f);</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <a class="code" href="_error_8h.xhtml#a206d6e247e0957ac3dee45d27756fc25">ARM_COMPUTE_RETURN_ERROR_ON</a>(boxes_qinfo.offset != 0);</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  }</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <span class="keywordflow">return</span> Status{};</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span> }</div><div class="ttc" id="_validate_8h_xhtml_a8f3ff7da485ff7e75dab07baadf5b4bd"><div class="ttname"><a href="_validate_8h.xhtml#a8f3ff7da485ff7e75dab07baadf5b4bd">ARM_COMPUTE_RETURN_ERROR_ON_MISMATCHING_DATA_TYPES</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_MISMATCHING_DATA_TYPES(...)</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00545">Validate.h:545</a></div></div>
+<div class="ttc" id="_validate_8h_xhtml_ae7eed178dac535c6e727061b1f5bc6eb"><div class="ttname"><a href="_validate_8h.xhtml#ae7eed178dac535c6e727061b1f5bc6eb">ARM_COMPUTE_RETURN_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN(t, c,...)</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00792">Validate.h:792</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a206d6e247e0957ac3dee45d27756fc25"><div class="ttname"><a href="_error_8h.xhtml#a206d6e247e0957ac3dee45d27756fc25">ARM_COMPUTE_RETURN_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON(cond)</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#l00296">Error.h:296</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#l00152">Error.h:152</a></div></div>
+<div class="ttc" id="_validate_8h_xhtml_aba910b683652be1f65437ef37a9da2a9"><div class="ttname"><a href="_validate_8h.xhtml#aba910b683652be1f65437ef37a9da2a9">ARM_COMPUTE_RETURN_ERROR_ON_MISMATCHING_QUANTIZATION_INFO</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_MISMATCHING_QUANTIZATION_INFO(...)</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00610">Validate.h:610</a></div></div>
+<div class="ttc" id="_validate_8h_xhtml_aff911654521523937ff24372a870b89f"><div class="ttname"><a href="_validate_8h.xhtml#aff911654521523937ff24372a870b89f">ARM_COMPUTE_RETURN_ERROR_ON_NULLPTR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_NULLPTR(...)</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00163">Validate.h:163</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="_error_8h_source.xhtml#l00167">ARM_COMPUTE_CREATE_ERROR</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#l00066">ceil_to_multiple()</a>, <a class="el" href="classarm__compute_1_1misc_1_1_i_cloneable.xhtml#a4d10e5012a872e7f78f2b539b673049d">ICloneable< T >::clone()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00410">arm_compute::misc::shape_calculator::compute_depthwise_convolution_shape()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00599">arm_compute::test::validation::conv_info</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</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="classarm__compute_1_1_i_tensor_info.xhtml#a178f0d3d87f959e00a743328d95359d2">ITensorInfo::dimension()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00184">element_size_from_data_type()</a>, <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00174">arm_compute::test::validation::output_shape</a>, <a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa62be47fdd89da032cf78dfce82239579">RUNTIME_ERROR</a>, <a class="el" href="_i_access_window_8cpp_source.xhtml#l00089">AccessWindowRectangle::set_valid_region()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">ITensorInfo::tensor_shape()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00402">update_window_and_padding()</a>, and <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00180">arm_compute::test::validation::weights</a>.</p>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00296">ARM_COMPUTE_RETURN_ERROR_ON</a>, <a class="el" href="_validate_8h_source.xhtml#l00792">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#l00610">ARM_COMPUTE_RETURN_ERROR_ON_MISMATCHING_QUANTIZATION_INFO</a>, <a class="el" href="_validate_8h_source.xhtml#l00163">ARM_COMPUTE_RETURN_ERROR_ON_NULLPTR</a>, <a class="el" href="_error_8h_source.xhtml#l00152">ARM_COMPUTE_UNUSED</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <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="_quantization_info_8h_source.xhtml#l00063">UniformQuantizationInfo::offset</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a3b989c6b5398b3b9538ad103a324205e">QASYMM16</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="_quantization_info_8h_source.xhtml#l00062">UniformQuantizationInfo::scale</a>, and <a class="el" href="_quantization_info_8h_source.xhtml#l00146">QuantizationInfo::uniform()</a>.</p>
-<p class="reference">Referenced by <a class="el" href="_c_l_transpose_kernel_8cpp_source.xhtml#l00111">CLTransposeKernel::configure()</a>, <a class="el" href="_n_e_floor_kernel_8cpp_source.xhtml#l00074">NEFloorKernel::configure()</a>, <a class="el" href="_c_l_scale_kernel_8cpp_source.xhtml#l00161">CLScaleKernel::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_depthwise_convolution_layer3x3_n_c_h_w_kernel_8cpp_source.xhtml#l00227">CLDepthwiseConvolutionLayer3x3NCHWKernel::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_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00178">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_floor_kernel_8cpp_source.xhtml#l00079">CLFloorKernel::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_channel_shuffle_layer_kernel_8cpp_source.xhtml#l00095">CLChannelShuffleLayerKernel::configure()</a>, <a class="el" href="_c_l_copy_kernel_8cpp_source.xhtml#l00157">CLCopyKernel::configure()</a>, <a class="el" href="_c_l_normalization_layer_kernel_8cpp_source.xhtml#l00107">CLNormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_gather_kernel_8cpp_source.xhtml#l00091">CLGatherKernel::configure()</a>, <a class="el" href="_c_l_locally_connected_matrix_multiply_kernel_8cpp_source.xhtml#l00084">CLLocallyConnectedMatrixMultiplyKernel::configure()</a>, <a class="el" href="_n_e_g_e_m_m_matrix_accumulate_biases_kernel_8cpp_source.xhtml#l00084">NEGEMMMatrixAccumulateBiasesKernel::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="_n_e_locally_connected_matrix_multiply_kernel_8cpp_source.xhtml#l00340">NELocallyConnectedMatrixMultiplyKernel::configure()</a>, <a class="el" href="_c_l_comparison_kernel_8cpp_source.xhtml#l00113">CLComparisonKernel::configure()</a>, <a class="el" href="_c_l_f_f_t_scale_kernel_8cpp_source.xhtml#l00078">CLFFTScaleKernel::configure()</a>, <a class="el" href="_g_c_pooling_layer_kernel_8cpp_source.xhtml#l00226">GCPoolingLayerKernel::configure()</a>, <a class="el" href="_n_e_dequantization_layer_kernel_8cpp_source.xhtml#l00271">NEDequantizationLayerKernel::configure()</a>, <a class="el" href="_c_l_mean_std_dev_normalization_kernel_8cpp_source.xhtml#l00085">CLMeanStdDevNormalizationKernel::configure()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00119">CLActivationLayerKernel::configure()</a>, <a class="el" href="_n_e_prior_box_layer_kernel_8cpp_source.xhtml#l00212">NEPriorBoxLayerKernel::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_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00132">CLPixelWiseMultiplicationKernel::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#l00098">CLWidthConcatenate2TensorsKernel::configure()</a>, <a class="el" href="_c_l_f_f_t_digit_reverse_kernel_8cpp_source.xhtml#l00075">CLFFTDigitReverseKernel::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_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00094">GCNormalizePlanarYUVLayerKernel::configure()</a>, <a class="el" href="_c_l_height_concatenate_layer_kernel_8cpp_source.xhtml#l00092">CLHeightConcatenateLayerKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_native_kernel_8cpp_source.xhtml#l00175">CLGEMMLowpMatrixMultiplyNativeKernel::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#l00146">CLReductionOperationKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate_layer_kernel_8cpp_source.xhtml#l00093">CLWidthConcatenateLayerKernel::configure()</a>, <a class="el" href="_g_c_arithmetic_addition_kernel_8cpp_source.xhtml#l00091">GCArithmeticAdditionKernel::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#l00098">CLL2NormalizeLayerKernel::configure()</a>, <a class="el" href="_n_e_flatten_layer_kernel_8cpp_source.xhtml#l00083">NEFlattenLayerKernel::configure()</a>, <a class="el" href="_c_l_range_kernel_8cpp_source.xhtml#l00093">CLRangeKernel::configure()</a>, <a class="el" href="_n_e_pooling_layer_kernel_8cpp_source.xhtml#l00333">NEPoolingLayerKernel::configure()</a>, <a class="el" href="_n_e_upsample_layer_kernel_8cpp_source.xhtml#l00295">NEUpsampleLayerKernel::configure()</a>, <a class="el" href="_c_l_width_concatenate4_tensors_kernel_8cpp_source.xhtml#l00116">CLWidthConcatenate4TensorsKernel::configure()</a>, <a class="el" href="_n_e_f_f_t_digit_reverse_kernel_8cpp_source.xhtml#l00075">NEFFTDigitReverseKernel::configure()</a>, <a class="el" href="_n_e_f_f_t_scale_kernel_8cpp_source.xhtml#l00092">NEFFTScaleKernel::configure()</a>, <a class="el" href="_c_l_select_kernel_8cpp_source.xhtml#l00109">CLSelectKernel::configure()</a>, <a class="el" href="_n_e_reduction_operation_kernel_8cpp_source.xhtml#l01236">NEReductionOperationKernel::configure()</a>, <a class="el" href="_c_l_f_f_t_radix_stage_kernel_8cpp_source.xhtml#l00085">CLFFTRadixStageKernel::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_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00085">CLDepthConcatenateLayerKernel::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="_n_e_normalization_layer_kernel_8cpp_source.xhtml#l00115">NENormalizationLayerKernel::configure()</a>, <a class="el" href="_c_l_stack_layer_kernel_8cpp_source.xhtml#l00084">CLStackLayerKernel::configure()</a>, <a class="el" href="_n_e_transpose_kernel_8cpp_source.xhtml#l00500">NETransposeKernel::configure()</a>, <a class="el" href="_c_l_batch_concatenate_layer_kernel_8cpp_source.xhtml#l00090">CLBatchConcatenateLayerKernel::configure()</a>, <a class="el" href="_n_e_y_o_l_o_layer_kernel_8cpp_source.xhtml#l00203">NEYOLOLayerKernel::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="_n_e_depthwise_convolution_layer3x3_kernel_8cpp_source.xhtml#l00252">NEDepthwiseConvolutionLayer3x3Kernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_reshaped_only_r_h_s_kernel_8cpp_source.xhtml#l00173">CLGEMMLowpMatrixMultiplyReshapedOnlyRHSKernel::configure()</a>, <a class="el" href="_n_e_height_concatenate_layer_kernel_8cpp_source.xhtml#l00082">NEHeightConcatenateLayerKernel::configure()</a>, <a class="el" href="_n_e_width_concatenate_layer_kernel_8cpp_source.xhtml#l00082">NEWidthConcatenateLayerKernel::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_native_kernel_8cpp_source.xhtml#l00212">CLGEMMMatrixMultiplyNativeKernel::configure()</a>, <a class="el" href="_n_e_activation_layer_kernel_8cpp_source.xhtml#l00116">NEActivationLayerKernel::configure()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_native_kernel_8cpp_source.xhtml#l00267">NEDepthwiseConvolutionLayerNativeKernel::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="_n_e_range_kernel_8cpp_source.xhtml#l00114">NERangeKernel::configure()</a>, <a class="el" href="_n_e_batch_concatenate_layer_kernel_8cpp_source.xhtml#l00126">NEBatchConcatenateLayerKernel::configure()</a>, <a class="el" href="_n_e_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00122">NEDepthConcatenateLayerKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_kernel_8cpp_source.xhtml#l00173">CLGEMMLowpMatrixMultiplyKernel::configure()</a>, <a class="el" href="_n_e_direct_convolution_layer_output_stage_kernel_8cpp_source.xhtml#l00467">NEDirectConvolutionLayerOutputStageKernel::configure()</a>, <a class="el" href="_c_l_batch_normalization_layer_kernel_8cpp_source.xhtml#l00139">CLBatchNormalizationLayerKernel::configure()</a>, <a class="el" href="_n_e_f_f_t_radix_stage_kernel_8cpp_source.xhtml#l00985">NEFFTRadixStageKernel::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_direct_convolution_output_stage_kernel_8cpp_source.xhtml#l00129">CLDirectConvolutionLayerOutputStageKernel::configure()</a>, <a class="el" href="_n_e_mean_std_dev_normalization_kernel_8cpp_source.xhtml#l00154">NEMeanStdDevNormalizationKernel::configure()</a>, <a class="el" href="_c_l_winograd_filter_transform_kernel_8cpp_source.xhtml#l00102">CLWinogradFilterTransformKernel::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_matrix_multiply_reshaped_kernel_8cpp_source.xhtml#l00172">CLGEMMLowpMatrixMultiplyReshapedKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_offset_contribution_output_stage_kernel_8cpp_source.xhtml#l00160">CLGEMMLowpOffsetContributionOutputStageKernel::configure()</a>, <a class="el" href="_n_e_min_max_layer_kernel_8cpp_source.xhtml#l00094">NEMinMaxLayerKernel::configure()</a>, <a class="el" href="_n_e_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00560">NEPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="_n_e_stack_layer_kernel_8cpp_source.xhtml#l00094">NEStackLayerKernel::configure()</a>, <a class="el" href="_c_l_strided_slice_kernel_8cpp_source.xhtml#l00104">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_g_e_m_m_matrix_multiply_reshaped_only_r_h_s_kernel_8cpp_source.xhtml#l00215">CLGEMMMatrixMultiplyReshapedOnlyRHSKernel::configure()</a>, <a class="el" href="_n_e_direct_convolution_layer_kernel_8cpp_source.xhtml#l01464">NEDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00305">CLGEMMMatrixMultiplyKernel::configure()</a>, <a class="el" href="_n_e_batch_normalization_layer_kernel_8cpp_source.xhtml#l00411">NEBatchNormalizationLayerKernel::configure()</a>, <a class="el" href="_n_e_g_e_m_m_lowp_matrix_multiply_kernel_8cpp_source.xhtml#l00802">NEGEMMLowpMatrixMultiplyKernel::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="_n_e_depth_convert_layer_kernel_8cpp_source.xhtml#l00104">NEDepthConvertLayerKernel::configure()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00389">CLDirectConvolutionLayerKernel::configure()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_quantize_down_int32_to_int16_scale_by_fixed_point_kernel_8cpp_source.xhtml#l00123">CLGEMMLowpQuantizeDownInt32ToInt16ScaleByFixedPointKernel::configure()</a>, <a class="el" href="_c_l_deconvolution_reshape_output_kernel_8cpp_source.xhtml#l00120">CLDeconvolutionReshapeOutputKernel::configure()</a>, <a class="el" href="_n_e_scale_kernel_8cpp_source.xhtml#l00339">NEScaleKernel::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="_n_e_strided_slice_kernel_8cpp_source.xhtml#l00138">NEStridedSliceKernel::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_g_e_m_m_matrix_multiply_reshaped_kernel_8cpp_source.xhtml#l00214">CLGEMMMatrixMultiplyReshapedKernel::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_quantize_down_int32_to_uint8_scale_kernel_8cpp_source.xhtml#l00114">CLGEMMLowpQuantizeDownInt32ToUint8ScaleKernel::configure()</a>, <a class="el" href="_n_e_arithmetic_subtraction_kernel_8cpp_source.xhtml#l00450">NEArithmeticSubtractionKernel::configure()</a>, <a class="el" href="_c_l_col2_im_kernel_8cpp_source.xhtml#l00091">CLCol2ImKernel::configure()</a>, <a class="el" href="_n_e_arithmetic_addition_kernel_8cpp_source.xhtml#l00723">NEArithmeticAdditionKernel::configure()</a>, <a class="el" href="_n_e_g_e_m_m_lowp_offset_contribution_kernel_8cpp_source.xhtml#l00343">NEGEMMLowpOffsetContributionKernel::configure()</a>, <a class="el" href="_n_e_g_e_m_m_lowp_quantize_down_int32_to_int16_scale_by_fixed_point_kernel_8cpp_source.xhtml#l00195">NEGEMMLowpQuantizeDownInt32ToInt16ScaleByFixedPointKernel::configure()</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#l00205">NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel::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="_n_e_col2_im_kernel_8cpp_source.xhtml#l00110">NECol2ImKernel::configure()</a>, <a class="el" href="_n_e_g_e_m_m_transpose1x_w_kernel_8cpp_source.xhtml#l00096">NEGEMMTranspose1xWKernel::configure()</a>, <a class="el" href="_c_l_im2_col_kernel_8cpp_source.xhtml#l00294">CLIm2ColKernel::configure()</a>, <a class="el" href="_n_e_weights_reshape_kernel_8cpp_source.xhtml#l00095">NEWeightsReshapeKernel::configure()</a>, <a class="el" href="_n_e_im2_col_kernel_8cpp_source.xhtml#l00351">NEIm2ColKernel::configure()</a>, <a class="el" href="_n_e_g_e_m_m_lowp_offset_contribution_output_stage_kernel_8cpp_source.xhtml#l00593">NEGEMMLowpOffsetContributionOutputStageKernel::configure()</a>, <a class="el" href="_n_e_floor_kernel_8cpp_source.xhtml#l00093">NEFloorKernel::validate()</a>, <a class="el" href="_c_l_transpose_kernel_8cpp_source.xhtml#l00103">CLTransposeKernel::validate()</a>, <a class="el" href="_c_l_scale_kernel_8cpp_source.xhtml#l00141">CLScaleKernel::validate()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_accumulate_biases_kernel_8cpp_source.xhtml#l00106">CLGEMMMatrixAccumulateBiasesKernel::validate()</a>, <a class="el" href="_c_l_dequantization_layer_kernel_8cpp_source.xhtml#l00114">CLDequantizationLayerKernel::validate()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_vector_multiply_kernel_8cpp_source.xhtml#l00128">CLGEMMMatrixVectorMultiplyKernel::validate()</a>, <a class="el" href="_c_l_floor_kernel_8cpp_source.xhtml#l00106">CLFloorKernel::validate()</a>, <a class="el" href="_c_l_min_max_layer_kernel_8cpp_source.xhtml#l00111">CLMinMaxLayerKernel::validate()</a>, <a class="el" href="_c_l_flatten_layer_kernel_8cpp_source.xhtml#l00125">CLFlattenLayerKernel::validate()</a>, <a class="el" href="_c_l_channel_shuffle_layer_kernel_8cpp_source.xhtml#l00162">CLChannelShuffleLayerKernel::validate()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_reshape_weights_kernel_8cpp_source.xhtml#l00109">CLDepthwiseConvolutionLayerReshapeWeightsKernel::validate()</a>, <a class="el" href="_c_l_copy_kernel_8cpp_source.xhtml#l00230">CLCopyKernel::validate()</a>, <a class="el" href="_c_l_quantization_layer_kernel_8cpp_source.xhtml#l00108">CLQuantizationLayerKernel::validate()</a>, <a class="el" href="_n_e_g_e_m_m_matrix_accumulate_biases_kernel_8cpp_source.xhtml#l00100">NEGEMMMatrixAccumulateBiasesKernel::validate()</a>, <a class="el" href="_n_e_dequantization_layer_kernel_8cpp_source.xhtml#l00287">NEDequantizationLayerKernel::validate()</a>, <a class="el" href="_n_e_locally_connected_matrix_multiply_kernel_8cpp_source.xhtml#l00357">NELocallyConnectedMatrixMultiplyKernel::validate()</a>, <a class="el" href="_c_l_locally_connected_matrix_multiply_kernel_8cpp_source.xhtml#l00121">CLLocallyConnectedMatrixMultiplyKernel::validate()</a>, <a class="el" href="_c_l_f_f_t_scale_kernel_8cpp_source.xhtml#l00114">CLFFTScaleKernel::validate()</a>, <a class="el" href="_c_l_normalization_layer_kernel_8cpp_source.xhtml#l00178">CLNormalizationLayerKernel::validate()</a>, <a class="el" href="_n_e_g_e_m_m_matrix_vector_multiply_kernel_8cpp_source.xhtml#l00296">NEGEMMMatrixVectorMultiplyKernel::validate()</a>, <a class="el" href="_c_l_comparison_kernel_8cpp_source.xhtml#l00163">CLComparisonKernel::validate()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_addition_kernel_8cpp_source.xhtml#l00103">CLGEMMMatrixAdditionKernel::validate()</a>, <a class="el" href="_g_c_pooling_layer_kernel_8cpp_source.xhtml#l00323">GCPoolingLayerKernel::validate()</a>, <a class="el" href="_n_e_prior_box_layer_kernel_8cpp_source.xhtml#l00229">NEPriorBoxLayerKernel::validate()</a>, <a class="el" href="_c_l_gather_kernel_8cpp_source.xhtml#l00117">CLGatherKernel::validate()</a>, <a class="el" href="_c_l_pooling_layer_kernel_8cpp_source.xhtml#l00316">CLPoolingLayerKernel::validate()</a>, <a class="el" href="_c_l_mean_std_dev_normalization_kernel_8cpp_source.xhtml#l00123">CLMeanStdDevNormalizationKernel::validate()</a>, <a class="el" href="_c_l_activation_layer_kernel_8cpp_source.xhtml#l00228">CLActivationLayerKernel::validate()</a>, <a class="el" href="_c_l_width_concatenate2_tensors_kernel_8cpp_source.xhtml#l00091">CLWidthConcatenate2TensorsKernel::validate()</a>, <a class="el" href="_c_l_height_concatenate_layer_kernel_8cpp_source.xhtml#l00084">CLHeightConcatenateLayerKernel::validate()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel_8cpp_source.xhtml#l00312">CLDepthwiseConvolutionLayer3x3NHWCKernel::validate()</a>, <a class="el" href="_c_l_depthwise_convolution_layer3x3_n_c_h_w_kernel_8cpp_source.xhtml#l00326">CLDepthwiseConvolutionLayer3x3NCHWKernel::validate()</a>, <a class="el" href="_c_l_f_f_t_digit_reverse_kernel_8cpp_source.xhtml#l00106">CLFFTDigitReverseKernel::validate()</a>, <a class="el" href="_c_l_width_concatenate_layer_kernel_8cpp_source.xhtml#l00086">CLWidthConcatenateLayerKernel::validate()</a>, <a class="el" href="_c_l_prior_box_layer_kernel_8cpp_source.xhtml#l00189">CLPriorBoxLayerKernel::validate()</a>, <a class="el" href="_g_c_arithmetic_addition_kernel_8cpp_source.xhtml#l00123">GCArithmeticAdditionKernel::validate()</a>, <a class="el" href="_c_l_f_f_t_radix_stage_kernel_8cpp_source.xhtml#l00131">CLFFTRadixStageKernel::validate()</a>, <a class="el" href="_n_e_f_f_t_scale_kernel_8cpp_source.xhtml#l00109">NEFFTScaleKernel::validate()</a>, <a class="el" href="_n_e_flatten_layer_kernel_8cpp_source.xhtml#l00097">NEFlattenLayerKernel::validate()</a>, <a class="el" href="_n_e_transpose_kernel_8cpp_source.xhtml#l00487">NETransposeKernel::validate()</a>, <a class="el" href="_c_l_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00154">CLNormalizePlanarYUVLayerKernel::validate()</a>, <a class="el" href="_c_l_range_kernel_8cpp_source.xhtml#l00136">CLRangeKernel::validate()</a>, <a class="el" href="_n_e_upsample_layer_kernel_8cpp_source.xhtml#l00090">NEUpsampleLayerKernel::validate()</a>, <a class="el" href="_c_l_batch_concatenate_layer_kernel_8cpp_source.xhtml#l00143">CLBatchConcatenateLayerKernel::validate()</a>, <a class="el" href="_c_l_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00124">CLDepthConcatenateLayerKernel::validate()</a>, <a class="el" href="_g_c_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00125">GCNormalizePlanarYUVLayerKernel::validate()</a>, <a class="el" href="_n_e_pooling_layer_kernel_8cpp_source.xhtml#l01786">NEPoolingLayerKernel::validate()</a>, <a class="el" href="_c_l_select_kernel_8cpp_source.xhtml#l00165">CLSelectKernel::validate()</a>, <a class="el" href="_c_l_width_concatenate4_tensors_kernel_8cpp_source.xhtml#l00109">CLWidthConcatenate4TensorsKernel::validate()</a>, <a class="el" href="_n_e_f_f_t_digit_reverse_kernel_8cpp_source.xhtml#l00135">NEFFTDigitReverseKernel::validate()</a>, <a class="el" href="_c_l_reduction_operation_kernel_8cpp_source.xhtml#l00254">CLReductionOperationKernel::validate()</a>, <a class="el" href="_n_e_height_concatenate_layer_kernel_8cpp_source.xhtml#l00101">NEHeightConcatenateLayerKernel::validate()</a>, <a class="el" href="_n_e_width_concatenate_layer_kernel_8cpp_source.xhtml#l00101">NEWidthConcatenateLayerKernel::validate()</a>, <a class="el" href="_c_l_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00232">CLPixelWiseMultiplicationKernel::validate()</a>, <a class="el" href="_n_e_g_e_m_m_interleave4x4_kernel_8cpp_source.xhtml#l00214">NEGEMMInterleave4x4Kernel::validate()</a>, <a class="el" href="_n_e_y_o_l_o_layer_kernel_8cpp_source.xhtml#l00234">NEYOLOLayerKernel::validate()</a>, <a class="el" href="_n_e_reduction_operation_kernel_8cpp_source.xhtml#l01258">NEReductionOperationKernel::validate()</a>, <a class="el" href="_c_l_y_o_l_o_layer_kernel_8cpp_source.xhtml#l00152">CLYOLOLayerKernel::validate()</a>, <a class="el" href="_n_e_normalization_layer_kernel_8cpp_source.xhtml#l00271">NENormalizationLayerKernel::validate()</a>, <a class="el" href="_n_e_range_kernel_8cpp_source.xhtml#l00164">NERangeKernel::validate()</a>, <a class="el" href="_n_e_activation_layer_kernel_8cpp_source.xhtml#l00593">NEActivationLayerKernel::validate()</a>, <a class="el" href="_n_e_f_f_t_radix_stage_kernel_8cpp_source.xhtml#l01023">NEFFTRadixStageKernel::validate()</a>, <a class="el" href="_n_e_batch_concatenate_layer_kernel_8cpp_source.xhtml#l00167">NEBatchConcatenateLayerKernel::validate()</a>, <a class="el" href="_c_l_l2_normalize_layer_kernel_8cpp_source.xhtml#l00153">CLL2NormalizeLayerKernel::validate()</a>, <a class="el" href="_n_e_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00157">NEDepthConcatenateLayerKernel::validate()</a>, <a class="el" href="_c_l_g_e_m_m_reshape_r_h_s_matrix_kernel_8cpp_source.xhtml#l00149">CLGEMMReshapeRHSMatrixKernel::validate()</a>, <a class="el" href="_n_e_min_max_layer_kernel_8cpp_source.xhtml#l00109">NEMinMaxLayerKernel::validate()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_kernel_8cpp_source.xhtml#l00233">CLGEMMLowpMatrixMultiplyKernel::validate()</a>, <a class="el" href="_n_e_mean_std_dev_normalization_kernel_8cpp_source.xhtml#l00187">NEMeanStdDevNormalizationKernel::validate()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_native_kernel_8cpp_source.xhtml#l00250">CLGEMMLowpMatrixMultiplyNativeKernel::validate()</a>, <a class="el" href="_c_l_stack_layer_kernel_8cpp_source.xhtml#l00112">CLStackLayerKernel::validate()</a>, <a class="el" href="_c_l_direct_convolution_output_stage_kernel_8cpp_source.xhtml#l00174">CLDirectConvolutionLayerOutputStageKernel::validate()</a>, <a class="el" href="_n_e_depthwise_convolution_layer3x3_kernel_8cpp_source.xhtml#l00282">NEDepthwiseConvolutionLayer3x3Kernel::validate()</a>, <a class="el" href="_n_e_g_e_m_m_lowp_matrix_multiply_kernel_8cpp_source.xhtml#l00821">NEGEMMLowpMatrixMultiplyKernel::validate()</a>, <a class="el" href="_c_l_g_e_m_m_reshape_l_h_s_matrix_kernel_8cpp_source.xhtml#l00191">CLGEMMReshapeLHSMatrixKernel::validate()</a>, <a class="el" href="_n_e_depth_convert_layer_kernel_8cpp_source.xhtml#l00124">NEDepthConvertLayerKernel::validate()</a>, <a class="el" href="_g_c_batch_normalization_layer_kernel_8cpp_source.xhtml#l00191">GCBatchNormalizationLayerKernel::validate()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00286">GCGEMMMatrixMultiplyKernel::validate()</a>, <a class="el" href="_n_e_direct_convolution_layer_output_stage_kernel_8cpp_source.xhtml#l00585">NEDirectConvolutionLayerOutputStageKernel::validate()</a>, <a class="el" href="_n_e_stack_layer_kernel_8cpp_source.xhtml#l00111">NEStackLayerKernel::validate()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_reshaped_only_r_h_s_kernel_8cpp_source.xhtml#l00255">CLGEMMLowpMatrixMultiplyReshapedOnlyRHSKernel::validate()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_native_kernel_8cpp_source.xhtml#l00297">NEDepthwiseConvolutionLayerNativeKernel::validate()</a>, <a class="el" href="_n_e_direct_convolution_layer_kernel_8cpp_source.xhtml#l01498">NEDirectConvolutionLayerKernel::validate()</a>, <a class="el" href="_n_e_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00987">NEGEMMMatrixMultiplyKernel::validate()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_quantize_down_int32_to_int16_scale_by_fixed_point_kernel_8cpp_source.xhtml#l00110">CLGEMMLowpQuantizeDownInt32ToInt16ScaleByFixedPointKernel::validate()</a>, <a class="el" href="_n_e_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00684">NEPixelWiseMultiplicationKernel::validate()</a>, <a class="el" href="_c_l_batch_normalization_layer_kernel_8cpp_source.xhtml#l00207">CLBatchNormalizationLayerKernel::validate()</a>, <a class="el" href="_n_e_arithmetic_addition_kernel_8cpp_source.xhtml#l00777">NEArithmeticAdditionKernel::validate()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_float_kernel_8cpp_source.xhtml#l00111">CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFloatKernel::validate()</a>, <a class="el" href="_c_l_winograd_input_transform_kernel_8cpp_source.xhtml#l00218">CLWinogradInputTransformKernel::validate()</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#l00111">CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel::validate()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_kernel_8cpp_source.xhtml#l00102">CLGEMMLowpQuantizeDownInt32ToUint8ScaleKernel::validate()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_offset_contribution_output_stage_kernel_8cpp_source.xhtml#l00241">CLGEMMLowpOffsetContributionOutputStageKernel::validate()</a>, <a class="el" href="_n_e_arithmetic_subtraction_kernel_8cpp_source.xhtml#l00498">NEArithmeticSubtractionKernel::validate()</a>, <a class="el" href="_c_l_strided_slice_kernel_8cpp_source.xhtml#l00182">CLStridedSliceKernel::validate()</a>, <a class="el" href="_c_l_col2_im_kernel_8cpp_source.xhtml#l00134">CLCol2ImKernel::validate()</a>, <a class="el" href="_c_l_direct_convolution_layer_kernel_8cpp_source.xhtml#l00544">CLDirectConvolutionLayerKernel::validate()</a>, <a class="el" href="_n_e_batch_normalization_layer_kernel_8cpp_source.xhtml#l00456">NEBatchNormalizationLayerKernel::validate()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_native_kernel_8cpp_source.xhtml#l00302">CLGEMMMatrixMultiplyNativeKernel::validate()</a>, <a class="el" href="_c_l_winograd_filter_transform_kernel_8cpp_source.xhtml#l00133">CLWinogradFilterTransformKernel::validate()</a>, <a class="el" href="_n_e_g_e_m_m_lowp_offset_contribution_kernel_8cpp_source.xhtml#l00377">NEGEMMLowpOffsetContributionKernel::validate()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_offset_contribution_kernel_8cpp_source.xhtml#l00205">CLGEMMLowpOffsetContributionKernel::validate()</a>, <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_reshaped_kernel_8cpp_source.xhtml#l00250">CLGEMMLowpMatrixMultiplyReshapedKernel::validate()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00454">CLGEMMMatrixMultiplyKernel::validate()</a>, <a class="el" href="_n_e_g_e_m_m_lowp_quantize_down_int32_to_int16_scale_by_fixed_point_kernel_8cpp_source.xhtml#l00220">NEGEMMLowpQuantizeDownInt32ToInt16ScaleByFixedPointKernel::validate()</a>, <a class="el" href="_n_e_g_e_m_m_transpose1x_w_kernel_8cpp_source.xhtml#l00115">NEGEMMTranspose1xWKernel::validate()</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#l00231">NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel::validate()</a>, <a class="el" href="_n_e_strided_slice_kernel_8cpp_source.xhtml#l00163">NEStridedSliceKernel::validate()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_reshaped_only_r_h_s_kernel_8cpp_source.xhtml#l00312">CLGEMMMatrixMultiplyReshapedOnlyRHSKernel::validate()</a>, <a class="el" href="_n_e_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_kernel_8cpp_source.xhtml#l00331">NEGEMMLowpQuantizeDownInt32ToUint8ScaleKernel::validate()</a>, <a class="el" href="_n_e_col2_im_kernel_8cpp_source.xhtml#l00141">NECol2ImKernel::validate()</a>, <a class="el" href="_n_e_scale_kernel_8cpp_source.xhtml#l00995">NEScaleKernel::validate()</a>, <a class="el" href="_c_l_winograd_output_transform_kernel_8cpp_source.xhtml#l00222">CLWinogradOutputTransformKernel::validate()</a>, <a class="el" href="_n_e_weights_reshape_kernel_8cpp_source.xhtml#l00117">NEWeightsReshapeKernel::validate()</a>, <a class="el" href="_c_l_g_e_m_m_matrix_multiply_reshaped_kernel_8cpp_source.xhtml#l00307">CLGEMMMatrixMultiplyReshapedKernel::validate()</a>, <a class="el" href="_c_l_im2_col_kernel_8cpp_source.xhtml#l00342">CLIm2ColKernel::validate()</a>, <a class="el" href="_n_e_im2_col_kernel_8cpp_source.xhtml#l00420">NEIm2ColKernel::validate()</a>, and <a class="el" href="_n_e_g_e_m_m_lowp_offset_contribution_output_stage_kernel_8cpp_source.xhtml#l00633">NEGEMMLowpOffsetContributionOutputStageKernel::validate()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="validate__examples_2_run_example_8cpp_source.xhtml#l00109">arm_compute::utils::run_example()</a>, <a class="el" href="_c_l_2_helper_8h_source.xhtml#l00074">CLSynthetizeFunction< CLGEMMMatrixMultiplyReshapedOnlyRHSKernel >::validate()</a>, <a class="el" href="_n_e_depthwise_convolution_layer_8cpp_source.xhtml#l00560">NEDepthwiseConvolutionLayer::validate()</a>, <a class="el" href="_c_l_depthwise_convolution_layer_8cpp_source.xhtml#l00598">CLDepthwiseConvolutionLayer::validate()</a>, <a class="el" href="_validate_helpers_8h_source.xhtml#l00064">arm_compute::graph::backends::detail::validate_bounding_box_transform_layer()</a>, <a class="el" href="_validate_helpers_8h_source.xhtml#l00088">arm_compute::graph::backends::detail::validate_channel_shuffle_layer()</a>, <a class="el" href="_validate_helpers_8h_source.xhtml#l00114">arm_compute::graph::backends::detail::validate_convolution_layer()</a>, <a class="el" href="_validate_helpers_8h_source.xhtml#l00172">arm_compute::graph::backends::detail::validate_depthwise_convolution_layer()</a>, <a class="el" href="_validate_helpers_8h_source.xhtml#l00211">arm_compute::graph::backends::detail::validate_dequantization_layer()</a>, <a class="el" href="_validate_helpers_8h_source.xhtml#l00232">arm_compute::graph::backends::detail::validate_detection_output_layer()</a>, <a class="el" href="_validate_helpers_8h_source.xhtml#l00256">arm_compute::graph::backends::detail::validate_detection_post_process_layer()</a>, <a class="el" href="_validate_helpers_8h_source.xhtml#l00284">arm_compute::graph::backends::detail::validate_generate_proposals_layer()</a>, <a class="el" href="_validate_helpers_8h_source.xhtml#l00311">arm_compute::graph::backends::detail::validate_normalize_planar_yuv_layer()</a>, <a class="el" href="_validate_helpers_8h_source.xhtml#l00336">arm_compute::graph::backends::detail::validate_pad_layer()</a>, <a class="el" href="_validate_helpers_8h_source.xhtml#l00359">arm_compute::graph::backends::detail::validate_permute_layer()</a>, <a class="el" href="_validate_helpers_8h_source.xhtml#l00381">arm_compute::graph::backends::detail::validate_priorbox_layer()</a>, <a class="el" href="_validate_helpers_8h_source.xhtml#l00405">arm_compute::graph::backends::detail::validate_quantization_layer()</a>, <a class="el" href="_validate_helpers_8h_source.xhtml#l00428">arm_compute::graph::backends::detail::validate_reorg_layer()</a>, <a class="el" href="_validate_helpers_8h_source.xhtml#l00451">arm_compute::graph::backends::detail::validate_reshape_layer()</a>, <a class="el" href="_validate_helpers_8h_source.xhtml#l00474">arm_compute::graph::backends::detail::validate_roi_align_layer()</a>, <a class="el" href="_validate_helpers_8h_source.xhtml#l00499">arm_compute::graph::backends::detail::validate_slice_layer()</a>, <a class="el" href="_validate_helpers_8h_source.xhtml#l00523">arm_compute::graph::backends::detail::validate_upsample_layer()</a>, and <a class="el" href="_validate_helpers_8h_source.xhtml#l00545">arm_compute::graph::backends::detail::validate_yolo_layer()</a>.</p>
+
+</div>
+</div>
+<a id="aa88c74fbf9be5e1f2afd2cb81e371287"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa88c74fbf9be5e1f2afd2cb81e371287">◆ </a></span>validate_config()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">Status</a> arm_compute::validate_config </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> * </td>
+ <td class="paramname"><em>input</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> & </td>
+ <td class="paramname"><em>reduction_axis</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool </td>
+ <td class="paramname"><em>keep_dims</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> * </td>
+ <td class="paramname"><em>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_reduce_mean_8cpp_source.xhtml#l00070">70</a> of file <a class="el" href="_n_e_reduce_mean_8cpp_source.xhtml">NEReduceMean.cpp</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>  <a class="code" href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(keep_dims);</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <a class="code" href="_validate_8h.xhtml#aff911654521523937ff24372a870b89f">ARM_COMPUTE_RETURN_ERROR_ON_NULLPTR</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>, output);</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <a class="code" href="_c_p_p_2_validate_8h.xhtml#ad2633f3560322e1f8d926949dec1b730">ARM_COMPUTE_RETURN_ERROR_ON_CPU_F16_UNSUPPORTED</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>);</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <a class="code" href="_validate_8h.xhtml#ae7eed178dac535c6e727061b1f5bc6eb">ARM_COMPUTE_RETURN_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>, 1, DataType::QASYMM8, DataType::F16, DataType::F32);</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <a class="code" href="_error_8h.xhtml#a206d6e247e0957ac3dee45d27756fc25">ARM_COMPUTE_RETURN_ERROR_ON</a>(reduction_axis.num_dimensions() < 1);</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <a class="code" href="_error_8h.xhtml#a206d6e247e0957ac3dee45d27756fc25">ARM_COMPUTE_RETURN_ERROR_ON</a>(reduction_axis.num_dimensions() > <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>->num_dimensions());</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="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> reduction_ops = reduction_axis.num_dimensions();</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> input_dims = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>->num_dimensions();</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  Coordinates axis_local = reduction_axis;</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">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < axis_local.num_dimensions(); ++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>  <span class="comment">//axis: The dimensions to reduce. Must be in the range [-rank(input_tensor), rank(input_tensor)).</span></div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <a class="code" href="_error_8h.xhtml#a206d6e247e0957ac3dee45d27756fc25">ARM_COMPUTE_RETURN_ERROR_ON</a>(axis_local[i] < (-static_cast<int>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>->num_dimensions())));</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <a class="code" href="_error_8h.xhtml#a206d6e247e0957ac3dee45d27756fc25">ARM_COMPUTE_RETURN_ERROR_ON</a>(axis_local[i] >= static_cast<int>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>->num_dimensions()));</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> </div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keywordflow">if</span>(output->tensor_shape().total_size() != 0)</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  {</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="comment">// Only validate if not using auto_init for the output tensor</span></div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  TensorShape out_shape = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>->tensor_shape();</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="comment">// Validate output_shape only if not using auto_init</span></div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <a class="code" href="namespacearm__compute.xhtml#a519df47124aa903c7de8be2624640c1b">convert_negative_axis</a>(axis_local, input_dims);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  std::sort(axis_local.begin(), axis_local.begin() + reduction_ops);</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < reduction_ops; ++i)</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#a206d6e247e0957ac3dee45d27756fc25">ARM_COMPUTE_RETURN_ERROR_ON</a>(axis_local[i] > 3);</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <a class="code" href="_error_8h.xhtml#a206d6e247e0957ac3dee45d27756fc25">ARM_COMPUTE_RETURN_ERROR_ON</a>(static_cast<unsigned int>(axis_local[i]) > <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>->num_dimensions() - 1);</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keywordflow">if</span>(output->total_size() > 0 && keep_dims)</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>  <a class="code" href="_error_8h.xhtml#a206d6e247e0957ac3dee45d27756fc25">ARM_COMPUTE_RETURN_ERROR_ON</a>(output->dimension(axis_local[i]) != 1);</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  }</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordflow">if</span>(keep_dims)</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>  out_shape.set(axis_local[i], 1);</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">else</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>  <a class="code" href="_error_8h.xhtml#a206d6e247e0957ac3dee45d27756fc25">ARM_COMPUTE_RETURN_ERROR_ON</a>(i > static_cast<unsigned int>(axis_local[i]));</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> remove_index = axis_local[i] - i;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <a class="code" href="_error_8h.xhtml#a206d6e247e0957ac3dee45d27756fc25">ARM_COMPUTE_RETURN_ERROR_ON</a>(remove_index >= out_shape.num_dimensions());</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  out_shape.remove_dimension(remove_index);</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  }</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  }</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keyword">const</span> TensorInfo out_info = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">input</a>->clone()->set_tensor_shape(out_shape);</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <a class="code" href="_validate_8h.xhtml#a27e4638546c88b8916f967e6e54480a9">ARM_COMPUTE_RETURN_ERROR_ON_MISMATCHING_SHAPES</a>(output, &out_info);</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="keywordflow">return</span> Status{};</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span> }</div><div class="ttc" id="_validate_8h_xhtml_ae7eed178dac535c6e727061b1f5bc6eb"><div class="ttname"><a href="_validate_8h.xhtml#ae7eed178dac535c6e727061b1f5bc6eb">ARM_COMPUTE_RETURN_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN(t, c,...)</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00792">Validate.h:792</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a206d6e247e0957ac3dee45d27756fc25"><div class="ttname"><a href="_error_8h.xhtml#a206d6e247e0957ac3dee45d27756fc25">ARM_COMPUTE_RETURN_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON(cond)</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#l00296">Error.h:296</a></div></div>
+<div class="ttc" id="_c_p_p_2_validate_8h_xhtml_ad2633f3560322e1f8d926949dec1b730"><div class="ttname"><a href="_c_p_p_2_validate_8h.xhtml#ad2633f3560322e1f8d926949dec1b730">ARM_COMPUTE_RETURN_ERROR_ON_CPU_F16_UNSUPPORTED</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_CPU_F16_UNSUPPORTED(tensor)</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_2_validate_8h_source.xhtml#l00071">Validate.h:71</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a8fcf2ddd9a1d58b1b280f5c0aed71845"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a8fcf2ddd9a1d58b1b280f5c0aed71845">arm_compute::test::validation::input</a></div><div class="ttdeci">auto input</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">LSTMLayerQuantized.cpp:487</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#l00152">Error.h:152</a></div></div>
+<div class="ttc" id="_validate_8h_xhtml_a27e4638546c88b8916f967e6e54480a9"><div class="ttname"><a href="_validate_8h.xhtml#a27e4638546c88b8916f967e6e54480a9">ARM_COMPUTE_RETURN_ERROR_ON_MISMATCHING_SHAPES</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_MISMATCHING_SHAPES(...)</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00443">Validate.h:443</a></div></div>
+<div class="ttc" id="_validate_8h_xhtml_aff911654521523937ff24372a870b89f"><div class="ttname"><a href="_validate_8h.xhtml#aff911654521523937ff24372a870b89f">ARM_COMPUTE_RETURN_ERROR_ON_NULLPTR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_NULLPTR(...)</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00163">Validate.h:163</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a519df47124aa903c7de8be2624640c1b"><div class="ttname"><a href="namespacearm__compute.xhtml#a519df47124aa903c7de8be2624640c1b">arm_compute::convert_negative_axis</a></div><div class="ttdeci">Coordinates & convert_negative_axis(Coordinates &coords, int max_value)</div><div class="ttdoc">Convert negative coordinates to positive in the range [0, num_dims_input].</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00774">Helpers.h:774</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00296">ARM_COMPUTE_RETURN_ERROR_ON</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#l00792">ARM_COMPUTE_RETURN_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN</a>, <a class="el" href="_validate_8h_source.xhtml#l00443">ARM_COMPUTE_RETURN_ERROR_ON_MISMATCHING_SHAPES</a>, <a class="el" href="_validate_8h_source.xhtml#l00163">ARM_COMPUTE_RETURN_ERROR_ON_NULLPTR</a>, <a class="el" href="_error_8h_source.xhtml#l00152">ARM_COMPUTE_UNUSED</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00194">Dimensions< T >::begin()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00774">convert_negative_axis()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a178f0d3d87f959e00a743328d95359d2">ITensorInfo::dimension()</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_l_s_t_m_layer_quantized_8cpp_source.xhtml#l00487">arm_compute::test::validation::input</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00122">Dimensions< T >::num_dimensions()</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, <a class="el" href="_tensor_shape_8h_source.xhtml#l00110">TensorShape::remove_dimension()</a>, <a class="el" href="_tensor_shape_8h_source.xhtml#l00078">TensorShape::set()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">ITensorInfo::tensor_shape()</a>, <a class="el" href="_tensor_shape_8h_source.xhtml#l00171">TensorShape::total_size()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a18064e0011c3869d884653e9e7c47b66">ITensorInfo::total_size()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_n_e_reduce_mean_8cpp_source.xhtml#l00123">NEReduceMean::validate()</a>.</p>
</div>
</div>
@@ -25674,62 +27247,8 @@
<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="a485ae62f3ade6c8d33c5c2e85b29c3a7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a485ae62f3ade6c8d33c5c2e85b29c3a7">◆ </a></span>vdequantize() <span class="overload">[1/5]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">float32x4x2_t arm_compute::vdequantize </td>
- <td>(</td>
- <td class="paramtype">const uint8x8_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_uniform_quantization_info.xhtml">UniformQuantizationInfo</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 8 quantized values. </p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">qv</td><td>Input values to be dequantized. </td></tr>
- <tr><td class="paramdir">[in]</td><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#l00164">164</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="l00165"></a><span class="lineno"> 165</span> {</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acec6d8ad52a28972fa74e071c1a63b6a">scale</a> = qi.scale;</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</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="l00168"></a><span class="lineno"> 168</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="l00169"></a><span class="lineno"> 169</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="l00170"></a><span class="lineno"> 170</span>  <span class="keyword">const</span> float32x4x2_t vdequantized_input =</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="line"><a name="l00173"></a><span class="lineno"> 173</span>  vmulq_f32(vcvtq_f32_s32(vsubq_s32(vreinterpretq_s32_u32(vmovl_u16(vget_low_u16(vmovl_u8(qv)))), voffset)), vscale),</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  vmulq_f32(vcvtq_f32_s32(vsubq_s32(vreinterpretq_s32_u32(vmovl_u16(vget_high_u16(vmovl_u8(qv)))), voffset)), vscale),</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>  };</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <span class="keywordflow">return</span> vdequantized_input;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</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#l00328">helpers.h:328</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#l00317">PixelWiseMultiplication.cpp:317</a></div></div>
-</div><!-- fragment -->
-<p class="reference">References <a class="el" href="_quantization_info_8h_source.xhtml#l00062">UniformQuantizationInfo::offset</a>, <a class="el" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00328">offset()</a>, <a class="el" href="_quantization_info_8h_source.xhtml#l00061">UniformQuantizationInfo::scale</a>, and <a class="el" href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00317">arm_compute::test::validation::scale</a>.</p>
-
-<p class="reference">Referenced by <a class="el" href="_n_e_height_concatenate_layer_kernel_8cpp_source.xhtml#l00108">NEHeightConcatenateLayerKernel::run()</a>, and <a class="el" href="_n_e_width_concatenate_layer_kernel_8cpp_source.xhtml#l00108">NEWidthConcatenateLayerKernel::run()</a>.</p>
-
-</div>
-</div>
<a id="a8ffa773c3e171fa1e0abfda9f1f23845"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8ffa773c3e171fa1e0abfda9f1f23845">◆ </a></span>vdequantize() <span class="overload">[2/5]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a8ffa773c3e171fa1e0abfda9f1f23845">◆ </a></span>vdequantize() <span class="overload">[1/6]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -25772,15 +27291,69 @@
</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_symm_8h_source.xhtml#l00165">165</a> of file <a class="el" href="_n_e_symm_8h_source.xhtml">NESymm.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00166"></a><span class="lineno"> 166</span> {</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="keyword">const</span> <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="l00168"></a><span class="lineno"> 168</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="l00169"></a><span class="lineno"> 169</span>  <span class="keyword">const</span> float32x4x4_t vdequantized_input =</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>  {</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  vmulq_f32(vcvtq_f32_s32(vmovl_s16(vget_low_s16(qv.val[0]))), vscale),</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  vmulq_f32(vcvtq_f32_s32(vmovl_s16(vget_high_s16(qv.val[0]))), vscale),</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  vmulq_f32(vcvtq_f32_s32(vmovl_s16(vget_low_s16(qv.val[1]))), vscale),</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  vmulq_f32(vcvtq_f32_s32(vmovl_s16(vget_high_s16(qv.val[1]))), vscale),</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>  };</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="keywordflow">return</span> vdequantized_input;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span> }</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#l00317">PixelWiseMultiplication.cpp:317</a></div></div>
+<p class="definition">Definition at line <a class="el" href="_n_e_symm_8h_source.xhtml#l00180">180</a> of file <a class="el" href="_n_e_symm_8h_source.xhtml">NESymm.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="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="l00183"></a><span class="lineno"> 183</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="l00184"></a><span class="lineno"> 184</span>  <span class="keyword">const</span> float32x4x4_t vdequantized_input =</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>  {</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  vmulq_f32(vcvtq_f32_s32(vmovl_s16(vget_low_s16(qv.val[0]))), vscale),</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  vmulq_f32(vcvtq_f32_s32(vmovl_s16(vget_high_s16(qv.val[0]))), vscale),</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  vmulq_f32(vcvtq_f32_s32(vmovl_s16(vget_low_s16(qv.val[1]))), vscale),</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  vmulq_f32(vcvtq_f32_s32(vmovl_s16(vget_high_s16(qv.val[1]))), vscale),</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>  };</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keywordflow">return</span> vdequantized_input;</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span> }</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#l00317">PixelWiseMultiplication.cpp:317</a></div></div>
</div><!-- fragment -->
-<p class="reference">References <a class="el" href="_quantization_info_8h_source.xhtml#l00061">UniformQuantizationInfo::scale</a>, and <a class="el" href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00317">arm_compute::test::validation::scale</a>.</p>
+<p class="reference">References <a class="el" href="_quantization_info_8h_source.xhtml#l00062">UniformQuantizationInfo::scale</a>, and <a class="el" href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00317">arm_compute::test::validation::scale</a>.</p>
+
+</div>
+</div>
+<a id="a485ae62f3ade6c8d33c5c2e85b29c3a7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a485ae62f3ade6c8d33c5c2e85b29c3a7">◆ </a></span>vdequantize() <span class="overload">[2/6]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">float32x4x2_t arm_compute::vdequantize </td>
+ <td>(</td>
+ <td class="paramtype">const uint8x8_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_uniform_quantization_info.xhtml">UniformQuantizationInfo</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 8 quantized values. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">qv</td><td>Input values to be dequantized. </td></tr>
+ <tr><td class="paramdir">[in]</td><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#l00263">263</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="l00264"></a><span class="lineno"> 264</span> {</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</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="l00266"></a><span class="lineno"> 266</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="l00267"></a><span class="lineno"> 267</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="l00268"></a><span class="lineno"> 268</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="l00269"></a><span class="lineno"> 269</span>  <span class="keyword">const</span> float32x4x2_t vdequantized_input =</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>  {</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  vmulq_f32(vcvtq_f32_s32(vsubq_s32(vreinterpretq_s32_u32(vmovl_u16(vget_low_u16(vmovl_u8(qv)))), voffset)), vscale),</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  vmulq_f32(vcvtq_f32_s32(vsubq_s32(vreinterpretq_s32_u32(vmovl_u16(vget_high_u16(vmovl_u8(qv)))), voffset)), vscale),</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> vdequantized_input;</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</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#l00510">helpers.h:510</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#l00317">PixelWiseMultiplication.cpp:317</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_quantization_info_8h_source.xhtml#l00063">UniformQuantizationInfo::offset</a>, <a class="el" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00510">offset()</a>, <a class="el" href="_quantization_info_8h_source.xhtml#l00062">UniformQuantizationInfo::scale</a>, and <a class="el" href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00317">arm_compute::test::validation::scale</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_n_e_height_concatenate_layer_kernel_8cpp_source.xhtml#l00108">NEHeightConcatenateLayerKernel::run()</a>, and <a class="el" href="_n_e_width_concatenate_layer_kernel_8cpp_source.xhtml#l00108">NEWidthConcatenateLayerKernel::run()</a>.</p>
</div>
</div>
<a id="a7048ece2af58ce75587256d7980db171"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7048ece2af58ce75587256d7980db171">◆ </a></span>vdequantize() <span class="overload">[3/5]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a7048ece2af58ce75587256d7980db171">◆ </a></span>vdequantize() <span class="overload">[3/6]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -25823,16 +27396,16 @@
</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#l00187">187</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="l00188"></a><span class="lineno"> 188</span> {</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</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="l00190"></a><span class="lineno"> 190</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="l00191"></a><span class="lineno"> 191</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="l00192"></a><span class="lineno"> 192</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="l00193"></a><span class="lineno"> 193</span>  <span class="keyword">const</span> float32x4x4_t vdequantized_input =</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>  {</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</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="l00197"></a><span class="lineno"> 197</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="l00198"></a><span class="lineno"> 198</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="l00199"></a><span class="lineno"> 199</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="l00200"></a><span class="lineno"> 200</span>  }</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="keywordflow">return</span> vdequantized_input;</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</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#l00328">helpers.h:328</a></div></div>
+<p class="definition">Definition at line <a class="el" href="_n_e_asymm_8h_source.xhtml#l00286">286</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="l00287"></a><span class="lineno"> 287</span> {</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</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="l00289"></a><span class="lineno"> 289</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="l00290"></a><span class="lineno"> 290</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="l00291"></a><span class="lineno"> 291</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="l00292"></a><span class="lineno"> 292</span>  <span class="keyword">const</span> float32x4x4_t vdequantized_input =</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>  {</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</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="l00296"></a><span class="lineno"> 296</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="l00297"></a><span class="lineno"> 297</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="l00298"></a><span class="lineno"> 298</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="l00299"></a><span class="lineno"> 299</span>  }</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  };</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="keywordflow">return</span> vdequantized_input;</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</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#l00510">helpers.h:510</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#l00317">PixelWiseMultiplication.cpp:317</a></div></div>
</div><!-- fragment -->
-<p class="reference">References <a class="el" href="_quantization_info_8h_source.xhtml#l00062">UniformQuantizationInfo::offset</a>, <a class="el" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00328">offset()</a>, <a class="el" href="_quantization_info_8h_source.xhtml#l00061">UniformQuantizationInfo::scale</a>, and <a class="el" href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00317">arm_compute::test::validation::scale</a>.</p>
+<p class="reference">References <a class="el" href="_quantization_info_8h_source.xhtml#l00063">UniformQuantizationInfo::offset</a>, <a class="el" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00510">offset()</a>, <a class="el" href="_quantization_info_8h_source.xhtml#l00062">UniformQuantizationInfo::scale</a>, and <a class="el" href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00317">arm_compute::test::validation::scale</a>.</p>
</div>
</div>
<a id="afefd32b0cf61750c523e6d15790a561e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afefd32b0cf61750c523e6d15790a561e">◆ </a></span>vdequantize() <span class="overload">[4/5]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#afefd32b0cf61750c523e6d15790a561e">◆ </a></span>vdequantize() <span class="overload">[4/6]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -25882,16 +27455,64 @@
</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#l00213">213</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="l00214"></a><span class="lineno"> 214</span> {</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="keyword">const</span> 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="l00216"></a><span class="lineno"> 216</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="l00217"></a><span class="lineno"> 217</span>  <span class="keyword">const</span> float32x4x4_t vdequantized_input =</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>  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="l00221"></a><span class="lineno"> 221</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="l00222"></a><span class="lineno"> 222</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="l00223"></a><span class="lineno"> 223</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="l00224"></a><span class="lineno"> 224</span>  }</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> vdequantized_input;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</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#l00328">helpers.h:328</a></div></div>
+<p class="definition">Definition at line <a class="el" href="_n_e_asymm_8h_source.xhtml#l00312">312</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="l00313"></a><span class="lineno"> 313</span> {</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</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="l00315"></a><span class="lineno"> 315</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="l00316"></a><span class="lineno"> 316</span>  <span class="keyword">const</span> float32x4x4_t vdequantized_input =</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>  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="l00320"></a><span class="lineno"> 320</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="l00321"></a><span class="lineno"> 321</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="l00322"></a><span class="lineno"> 322</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="l00323"></a><span class="lineno"> 323</span>  }</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  };</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <span class="keywordflow">return</span> vdequantized_input;</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</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#l00510">helpers.h:510</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#l00317">PixelWiseMultiplication.cpp:317</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#l00328">offset()</a>, and <a class="el" href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00317">arm_compute::test::validation::scale</a>.</p>
+<p class="reference">References <a class="el" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00510">offset()</a>, and <a class="el" href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00317">arm_compute::test::validation::scale</a>.</p>
</div>
</div>
+<a id="a3838d1ee6a765a3b7ff52dc040edf5c0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3838d1ee6a765a3b7ff52dc040edf5c0">◆ </a></span>vdequantize() <span class="overload">[5/6]</span></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 int8x16_t & </td>
+ <td class="paramname"><em>qv</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const float32x4x4_t </td>
+ <td class="paramname"><em>vscale</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 following symmetric quantization scheme a neon vector holding 16 quantized values. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">qv</td><td>Input values to be dequantized. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">vscale</td><td><a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information.">Vector</a> containing quantization scaling factors.</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#l00335">335</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="l00336"></a><span class="lineno"> 336</span> {</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <span class="keyword">const</span> float32x4x4_t vdequantized_input =</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>  {</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  vmulq_f32(vcvtq_f32_s32(vmovl_s16(vget_low_s16(vmovl_s8(vget_low_s8(qv))))), vscale.val[0]),</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  vmulq_f32(vcvtq_f32_s32(vmovl_s16(vget_high_s16(vmovl_s8(vget_low_s8(qv))))), vscale.val[1]),</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  vmulq_f32(vcvtq_f32_s32(vmovl_s16(vget_low_s16(vmovl_s8(vget_high_s8(qv))))), vscale.val[2]),</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  vmulq_f32(vcvtq_f32_s32(vmovl_s16(vget_high_s16(vmovl_s8(vget_high_s8(qv))))), vscale.val[3]),</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  }</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  };</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <span class="keywordflow">return</span> vdequantized_input;</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span> }</div></div><!-- fragment -->
+</div>
+</div>
<a id="a496aa10035fdc8a0e86dde37b64f8228"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a496aa10035fdc8a0e86dde37b64f8228">◆ </a></span>vdequantize() <span class="overload">[5/5]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a496aa10035fdc8a0e86dde37b64f8228">◆ </a></span>vdequantize() <span class="overload">[6/6]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -25934,8 +27555,8 @@
</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#l00236">236</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="l00237"></a><span class="lineno"> 237</span> {</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</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="l00239"></a><span class="lineno"> 239</span>  <span class="keyword">const</span> float32x4x4_t vdequantized_input =</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>  vmulq_f32(vcvtq_f32_s32(vmovl_s16(vget_low_s16(vmovl_s8(vget_low_s8(qv))))), vscale),</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  vmulq_f32(vcvtq_f32_s32(vmovl_s16(vget_high_s16(vmovl_s8(vget_low_s8(qv))))), vscale),</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  vmulq_f32(vcvtq_f32_s32(vmovl_s16(vget_low_s16(vmovl_s8(vget_high_s8(qv))))), vscale),</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  vmulq_f32(vcvtq_f32_s32(vmovl_s16(vget_high_s16(vmovl_s8(vget_high_s8(qv))))), vscale),</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="keywordflow">return</span> vdequantized_input;</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_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#l00317">PixelWiseMultiplication.cpp:317</a></div></div>
+<p class="definition">Definition at line <a class="el" href="_n_e_asymm_8h_source.xhtml#l00356">356</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="l00357"></a><span class="lineno"> 357</span> {</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</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="l00359"></a><span class="lineno"> 359</span>  <span class="keyword">const</span> float32x4x4_t vdequantized_input =</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  {</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  {</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  vmulq_f32(vcvtq_f32_s32(vmovl_s16(vget_low_s16(vmovl_s8(vget_low_s8(qv))))), vscale),</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  vmulq_f32(vcvtq_f32_s32(vmovl_s16(vget_high_s16(vmovl_s8(vget_low_s8(qv))))), vscale),</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  vmulq_f32(vcvtq_f32_s32(vmovl_s16(vget_low_s16(vmovl_s8(vget_high_s8(qv))))), vscale),</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  vmulq_f32(vcvtq_f32_s32(vmovl_s16(vget_high_s16(vmovl_s8(vget_high_s8(qv))))), vscale),</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  }</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  };</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <span class="keywordflow">return</span> vdequantized_input;</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span> }</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#l00317">PixelWiseMultiplication.cpp:317</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00317">arm_compute::test::validation::scale</a>.</p>
@@ -25985,8 +27606,8 @@
</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_symm_8h_source.xhtml#l00119">119</a> of file <a class="el" href="_n_e_symm_8h_source.xhtml">NESymm.h</a>.</p>
-<div class="fragment"><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="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="l00122"></a><span class="lineno"> 122</span>  <span class="keyword">const</span> float32x4x2_t vdequantized_input =</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>  vmulq_f32(vcvtq_f32_s32(vmovl_s16(vget_low_s16(qv))), vscale),</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  vmulq_f32(vcvtq_f32_s32(vmovl_s16(vget_high_s16(qv))), vscale)</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> vdequantized_input;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span> }</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#l00317">PixelWiseMultiplication.cpp:317</a></div></div>
+<p class="definition">Definition at line <a class="el" href="_n_e_symm_8h_source.xhtml#l00134">134</a> of file <a class="el" href="_n_e_symm_8h_source.xhtml">NESymm.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00135"></a><span class="lineno"> 135</span> {</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keyword">const</span> 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="l00137"></a><span class="lineno"> 137</span>  <span class="keyword">const</span> float32x4x2_t vdequantized_input =</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>  {</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  vmulq_f32(vcvtq_f32_s32(vmovl_s16(vget_low_s16(qv))), vscale),</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  vmulq_f32(vcvtq_f32_s32(vmovl_s16(vget_high_s16(qv))), vscale)</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="keywordflow">return</span> vdequantized_input;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span> }</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#l00317">PixelWiseMultiplication.cpp:317</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00317">arm_compute::test::validation::scale</a>.</p>
@@ -26028,6 +27649,8 @@
<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>
<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 -->
+<p class="reference">Referenced by <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00336">vsub_n()</a>.</p>
+
</div>
</div>
<a id="ace69f5de3783f9cd924dac392710facf"></a>
@@ -26800,8 +28423,8 @@
<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div></div><!-- fragment -->
</div>
</div>
-<a id="a2cb9483082ea29427722db15d23ec130"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2cb9483082ea29427722db15d23ec130">◆ </a></span>vget_lane() <span class="overload">[3/15]</span></h2>
+<a id="a46b08aeab78badc7365668e0051e7fac"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a46b08aeab78badc7365668e0051e7fac">◆ </a></span>vget_lane() <span class="overload">[3/15]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -26812,7 +28435,7 @@
<tr>
<td class="memname">int8_t vget_lane </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><td>)</td>
<td></td>
</tr>
@@ -26828,8 +28451,8 @@
<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div></div><!-- fragment -->
</div>
</div>
-<a id="a46b08aeab78badc7365668e0051e7fac"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a46b08aeab78badc7365668e0051e7fac">◆ </a></span>vget_lane() <span class="overload">[4/15]</span></h2>
+<a id="a2cb9483082ea29427722db15d23ec130"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2cb9483082ea29427722db15d23ec130">◆ </a></span>vget_lane() <span class="overload">[4/15]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -26840,7 +28463,7 @@
<tr>
<td class="memname">int8_t vget_lane </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><td>)</td>
<td></td>
</tr>
@@ -26912,8 +28535,8 @@
<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div></div><!-- fragment -->
</div>
</div>
-<a id="aab831e66636598a49c321c248da55108"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aab831e66636598a49c321c248da55108">◆ </a></span>vget_lane() <span class="overload">[7/15]</span></h2>
+<a id="a21a10c0d7629ac794f59a6e06dad8b7c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a21a10c0d7629ac794f59a6e06dad8b7c">◆ </a></span>vget_lane() <span class="overload">[7/15]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -26924,7 +28547,7 @@
<tr>
<td class="memname">int16_t vget_lane </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>< int16_t > </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>< int16_t > </td>
<td class="paramname"><em>vec</em></td><td>)</td>
<td></td>
</tr>
@@ -26940,8 +28563,8 @@
<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div></div><!-- fragment -->
</div>
</div>
-<a id="a21a10c0d7629ac794f59a6e06dad8b7c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a21a10c0d7629ac794f59a6e06dad8b7c">◆ </a></span>vget_lane() <span class="overload">[8/15]</span></h2>
+<a id="aab831e66636598a49c321c248da55108"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aab831e66636598a49c321c248da55108">◆ </a></span>vget_lane() <span class="overload">[8/15]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -26952,7 +28575,7 @@
<tr>
<td class="memname">int16_t vget_lane </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>< int16_t > </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>< int16_t > </td>
<td class="paramname"><em>vec</em></td><td>)</td>
<td></td>
</tr>
@@ -27024,36 +28647,8 @@
<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>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <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="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#l00223">223</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">[12/15]</span></h2>
+<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">
@@ -27080,8 +28675,36 @@
<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div></div><!-- fragment -->
</div>
</div>
-<a id="a2b122d56b7bf307cf06ec05b4bdeea63"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2b122d56b7bf307cf06ec05b4bdeea63">◆ </a></span>vget_lane() <span class="overload">[13/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">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <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="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#l00223">223</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="a696409f1f3c572c8a899605e36b87e9a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a696409f1f3c572c8a899605e36b87e9a">◆ </a></span>vget_lane() <span class="overload">[13/15]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -27092,7 +28715,7 @@
<tr>
<td class="memname">float vget_lane </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>< float > </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>< float > </td>
<td class="paramname"><em>vec</em></td><td>)</td>
<td></td>
</tr>
@@ -27108,8 +28731,8 @@
<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div></div><!-- fragment -->
</div>
</div>
-<a id="a696409f1f3c572c8a899605e36b87e9a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a696409f1f3c572c8a899605e36b87e9a">◆ </a></span>vget_lane() <span class="overload">[14/15]</span></h2>
+<a id="a2b122d56b7bf307cf06ec05b4bdeea63"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2b122d56b7bf307cf06ec05b4bdeea63">◆ </a></span>vget_lane() <span class="overload">[14/15]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -27120,7 +28743,7 @@
<tr>
<td class="memname">float vget_lane </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>< float > </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>< float > </td>
<td class="paramname"><em>vec</em></td><td>)</td>
<td></td>
</tr>
@@ -28674,11 +30297,11 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>A neon vector holding the quantized values </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_n_e_asymm_8h_source.xhtml#l00258">258</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="l00259"></a><span class="lineno"> 259</span> {</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <span class="keyword">const</span> <span class="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="l00261"></a><span class="lineno"> 261</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="l00262"></a><span class="lineno"> 262</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="l00263"></a><span class="lineno"> 263</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="l00264"></a><span class="lineno"> 264</span>  <span class="keyword">const</span> int32x4x4_t rf =</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  {</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  {</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="preprocessor">#ifdef __aarch64__</span></div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  vcvtnq_s32_f32(vmlaq_f32(voffset, qv.val[0], vinvscale)),</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  vcvtnq_s32_f32(vmlaq_f32(voffset, qv.val[1], vinvscale)),</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="preprocessor">#else //__aarch64__</span></div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  vcvtq_s32_f32(vmlaq_f32(voffset, qv.val[0], vinvscale)),</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  vcvtq_s32_f32(vmlaq_f32(voffset, qv.val[1], vinvscale)),</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="preprocessor">#endif //__aarch64__</span></div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  }</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  };</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <span class="keywordflow">return</span> vqmovun_s16(vcombine_s16(vqmovn_s32(rf.val[0]), vqmovn_s32(rf.val[1])));</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</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#l00328">helpers.h:328</a></div></div>
+<p class="definition">Definition at line <a class="el" href="_n_e_asymm_8h_source.xhtml#l00378">378</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="l00379"></a><span class="lineno"> 379</span> {</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</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="l00381"></a><span class="lineno"> 381</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="l00382"></a><span class="lineno"> 382</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="l00383"></a><span class="lineno"> 383</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="l00384"></a><span class="lineno"> 384</span>  <span class="keyword">const</span> int32x4x4_t rf =</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>  {</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="preprocessor">#ifdef __aarch64__</span></div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  vcvtnq_s32_f32(vmlaq_f32(voffset, qv.val[0], vinvscale)),</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  vcvtnq_s32_f32(vmlaq_f32(voffset, qv.val[1], vinvscale)),</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="preprocessor">#else //__aarch64__</span></div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  vcvtq_s32_f32(vmlaq_f32(voffset, qv.val[0], vinvscale)),</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  vcvtq_s32_f32(vmlaq_f32(voffset, qv.val[1], vinvscale)),</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="preprocessor">#endif //__aarch64__</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>  };</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  <span class="keywordflow">return</span> vqmovun_s16(vcombine_s16(vqmovn_s32(rf.val[0]), vqmovn_s32(rf.val[1])));</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</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#l00510">helpers.h:510</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#l00317">PixelWiseMultiplication.cpp:317</a></div></div>
</div><!-- fragment -->
-<p class="reference">References <a class="el" href="_quantization_info_8h_source.xhtml#l00062">UniformQuantizationInfo::offset</a>, <a class="el" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00328">offset()</a>, <a class="el" href="_quantization_info_8h_source.xhtml#l00061">UniformQuantizationInfo::scale</a>, and <a class="el" href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00317">arm_compute::test::validation::scale</a>.</p>
+<p class="reference">References <a class="el" href="_quantization_info_8h_source.xhtml#l00063">UniformQuantizationInfo::offset</a>, <a class="el" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00510">offset()</a>, <a class="el" href="_quantization_info_8h_source.xhtml#l00062">UniformQuantizationInfo::scale</a>, and <a class="el" href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00317">arm_compute::test::validation::scale</a>.</p>
<p class="reference">Referenced by <a class="el" href="_n_e_height_concatenate_layer_kernel_8cpp_source.xhtml#l00108">NEHeightConcatenateLayerKernel::run()</a>, and <a class="el" href="_n_e_width_concatenate_layer_kernel_8cpp_source.xhtml#l00108">NEWidthConcatenateLayerKernel::run()</a>.</p>
@@ -28728,11 +30351,11 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>A neon vector holding the quantized values </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_n_e_asymm_8h_source.xhtml#l00286">286</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="l00287"></a><span class="lineno"> 287</span> {</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</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="l00289"></a><span class="lineno"> 289</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="l00290"></a><span class="lineno"> 290</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="l00291"></a><span class="lineno"> 291</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="l00292"></a><span class="lineno"> 292</span>  <span class="keyword">const</span> int32x4x4_t rf =</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>  {</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="preprocessor">#ifdef __aarch64__</span></div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  vcvtnq_s32_f32(vmlaq_f32(voffset, qv.val[0], vinvscale)),</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  vcvtnq_s32_f32(vmlaq_f32(voffset, qv.val[1], vinvscale)),</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  vcvtnq_s32_f32(vmlaq_f32(voffset, qv.val[2], vinvscale)),</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  vcvtnq_s32_f32(vmlaq_f32(voffset, qv.val[3], vinvscale)),</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="preprocessor">#else //__aarch64__</span></div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  vcvtq_s32_f32(vmlaq_f32(voffset, qv.val[0], vinvscale)),</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  vcvtq_s32_f32(vmlaq_f32(voffset, qv.val[1], vinvscale)),</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  vcvtq_s32_f32(vmlaq_f32(voffset, qv.val[2], vinvscale)),</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  vcvtq_s32_f32(vmlaq_f32(voffset, qv.val[3], vinvscale)),</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="preprocessor">#endif //__aarch64__</span></div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  }</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  };</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</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="l00309"></a><span class="lineno"> 309</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="l00310"></a><span class="lineno"> 310</span>  <span class="keywordflow">return</span> vcombine_u8(pa, pb);</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</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#l00328">helpers.h:328</a></div></div>
+<p class="definition">Definition at line <a class="el" href="_n_e_asymm_8h_source.xhtml#l00406">406</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="l00407"></a><span class="lineno"> 407</span> {</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</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="l00409"></a><span class="lineno"> 409</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="l00410"></a><span class="lineno"> 410</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="l00411"></a><span class="lineno"> 411</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="l00412"></a><span class="lineno"> 412</span>  <span class="keyword">const</span> int32x4x4_t rf =</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  {</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  {</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="preprocessor">#ifdef __aarch64__</span></div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  vcvtnq_s32_f32(vmlaq_f32(voffset, qv.val[0], vinvscale)),</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  vcvtnq_s32_f32(vmlaq_f32(voffset, qv.val[1], vinvscale)),</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  vcvtnq_s32_f32(vmlaq_f32(voffset, qv.val[2], vinvscale)),</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  vcvtnq_s32_f32(vmlaq_f32(voffset, qv.val[3], vinvscale)),</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="preprocessor">#else //__aarch64__</span></div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  vcvtq_s32_f32(vmlaq_f32(voffset, qv.val[0], vinvscale)),</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  vcvtq_s32_f32(vmlaq_f32(voffset, qv.val[1], vinvscale)),</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  vcvtq_s32_f32(vmlaq_f32(voffset, qv.val[2], vinvscale)),</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  vcvtq_s32_f32(vmlaq_f32(voffset, qv.val[3], vinvscale)),</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="preprocessor">#endif //__aarch64__</span></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>  };</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</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="l00429"></a><span class="lineno"> 429</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="l00430"></a><span class="lineno"> 430</span>  <span class="keywordflow">return</span> vcombine_u8(pa, pb);</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</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#l00510">helpers.h:510</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#l00317">PixelWiseMultiplication.cpp:317</a></div></div>
</div><!-- fragment -->
-<p class="reference">References <a class="el" href="_quantization_info_8h_source.xhtml#l00062">UniformQuantizationInfo::offset</a>, <a class="el" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00328">offset()</a>, <a class="el" href="_quantization_info_8h_source.xhtml#l00061">UniformQuantizationInfo::scale</a>, and <a class="el" href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00317">arm_compute::test::validation::scale</a>.</p>
+<p class="reference">References <a class="el" href="_quantization_info_8h_source.xhtml#l00063">UniformQuantizationInfo::offset</a>, <a class="el" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00510">offset()</a>, <a class="el" href="_quantization_info_8h_source.xhtml#l00062">UniformQuantizationInfo::scale</a>, and <a class="el" href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00317">arm_compute::test::validation::scale</a>.</p>
</div>
</div>
@@ -28780,13 +30403,65 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>A neon vector holding the quantized values </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_n_e_symm_8h_source.xhtml#l00139">139</a> of file <a class="el" href="_n_e_symm_8h_source.xhtml">NESymm.h</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">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="l00142"></a><span class="lineno"> 142</span> </div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keyword">const</span> int32x4x2_t rf =</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>  {</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="preprocessor">#ifdef __aarch64__</span></div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  vcvtnq_s32_f32(vmulq_f32(qv.val[0], vinvscale)),</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  vcvtnq_s32_f32(vmulq_f32(qv.val[1], vinvscale))</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="preprocessor">#else //__aarch64__</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  vcvtq_s32_f32(vmulq_f32(qv.val[0], vinvscale)),</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  vcvtq_s32_f32(vmulq_f32(qv.val[1], vinvscale))</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="preprocessor">#endif //__aarch64__</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  }</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  };</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keywordflow">return</span> vcombine_s16(vqmovn_s32(rf.val[0]), vqmovn_s32(rf.val[1]));</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span> }</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#l00317">PixelWiseMultiplication.cpp:317</a></div></div>
+<p class="definition">Definition at line <a class="el" href="_n_e_symm_8h_source.xhtml#l00154">154</a> of file <a class="el" href="_n_e_symm_8h_source.xhtml">NESymm.h</a>.</p>
+<div class="fragment"><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="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="l00157"></a><span class="lineno"> 157</span> </div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keyword">const</span> int32x4x2_t rf =</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>  {</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="preprocessor">#ifdef __aarch64__</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  vcvtnq_s32_f32(vmulq_f32(qv.val[0], vinvscale)),</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  vcvtnq_s32_f32(vmulq_f32(qv.val[1], vinvscale))</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="preprocessor">#else //__aarch64__</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  vcvtq_s32_f32(vmulq_f32(qv.val[0], vinvscale)),</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  vcvtq_s32_f32(vmulq_f32(qv.val[1], vinvscale))</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="preprocessor">#endif //__aarch64__</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>  };</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="keywordflow">return</span> vcombine_s16(vqmovn_s32(rf.val[0]), vqmovn_s32(rf.val[1]));</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span> }</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#l00317">PixelWiseMultiplication.cpp:317</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00317">arm_compute::test::validation::scale</a>.</p>
</div>
</div>
+<a id="a687dee3fd66555374211e3ff676ce5f1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a687dee3fd66555374211e3ff676ce5f1">◆ </a></span>vquantize_qasymm16()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint16x8x2_t arm_compute::vquantize_qasymm16 </td>
+ <td>(</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">const <a class="el" href="structarm__compute_1_1_uniform_quantization_info.xhtml">UniformQuantizationInfo</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>Quantize to QASYMM16 a neon vector holding 16 floating point values. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">qv</td><td>Input values to be quantized. </td></tr>
+ <tr><td class="paramdir">[in]</td><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="definition">Definition at line <a class="el" href="_n_e_asymm_8h_source.xhtml#l00440">440</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="l00441"></a><span class="lineno"> 441</span> {</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</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="l00443"></a><span class="lineno"> 443</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="l00444"></a><span class="lineno"> 444</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="l00445"></a><span class="lineno"> 445</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="l00446"></a><span class="lineno"> 446</span>  <span class="keyword">const</span> int32x4x4_t rf =</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>  {</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span> <span class="preprocessor">#ifdef __aarch64__</span></div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  vcvtnq_s32_f32(vmlaq_f32(voffset, qv.val[0], vinvscale)),</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  vcvtnq_s32_f32(vmlaq_f32(voffset, qv.val[1], vinvscale)),</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>  vcvtnq_s32_f32(vmlaq_f32(voffset, qv.val[2], vinvscale)),</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  vcvtnq_s32_f32(vmlaq_f32(voffset, qv.val[3], vinvscale)),</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span> <span class="preprocessor">#else //__aarch64__</span></div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  vcvtq_s32_f32(vmlaq_f32(voffset, qv.val[0], vinvscale)),</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  vcvtq_s32_f32(vmlaq_f32(voffset, qv.val[1], vinvscale)),</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  vcvtq_s32_f32(vmlaq_f32(voffset, qv.val[2], vinvscale)),</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  vcvtq_s32_f32(vmlaq_f32(voffset, qv.val[3], vinvscale)),</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span> <span class="preprocessor">#endif //__aarch64__</span></div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  }</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  };</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  <span class="keyword">const</span> uint16x8_t pa = vcombine_u16(vqmovun_s32(rf.val[0]), vqmovun_s32(rf.val[1]));</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  <span class="keyword">const</span> uint16x8_t pb = vcombine_u16(vqmovun_s32(rf.val[2]), vqmovun_s32(rf.val[3]));</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  <span class="keywordflow">return</span> { pa, pb };</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</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#l00510">helpers.h:510</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#l00317">PixelWiseMultiplication.cpp:317</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_quantization_info_8h_source.xhtml#l00063">UniformQuantizationInfo::offset</a>, <a class="el" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00510">offset()</a>, <a class="el" href="_quantization_info_8h_source.xhtml#l00062">UniformQuantizationInfo::scale</a>, and <a class="el" href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00317">arm_compute::test::validation::scale</a>.</p>
+
+</div>
+</div>
<a id="a926c75703af37a5677a6bac0198902b0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a926c75703af37a5677a6bac0198902b0">◆ </a></span>vquantize_qsymm16()</h2>
@@ -28831,12 +30506,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>A neon vector holding the quantized values </dd></dl>
-<p class="definition">Definition at line <a class="el" href="_n_e_symm_8h_source.xhtml#l00188">188</a> of file <a class="el" href="_n_e_symm_8h_source.xhtml">NESymm.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00189"></a><span class="lineno"> 189</span> {</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <span class="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="l00191"></a><span class="lineno"> 191</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#acec6d8ad52a28972fa74e071c1a63b6a">scale</a> == 0.f);</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</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="l00193"></a><span class="lineno"> 193</span>  <span class="keyword">const</span> int32x4x4_t rf =</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>  {</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="preprocessor">#ifdef __aarch64__</span></div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  vcvtnq_s32_f32(vmulq_f32(qv.val[0], vinvscale)),</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  vcvtnq_s32_f32(vmulq_f32(qv.val[1], vinvscale)),</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  vcvtnq_s32_f32(vmulq_f32(qv.val[2], vinvscale)),</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  vcvtnq_s32_f32(vmulq_f32(qv.val[3], vinvscale)),</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="preprocessor">#else //__aarch64__</span></div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  vcvtq_s32_f32(vmulq_f32(qv.val[0], vinvscale)),</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  vcvtq_s32_f32(vmulq_f32(qv.val[1], vinvscale)),</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  vcvtq_s32_f32(vmulq_f32(qv.val[2], vinvscale)),</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  vcvtq_s32_f32(vmulq_f32(qv.val[3], vinvscale)),</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="preprocessor">#endif //__aarch64__</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="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a9ad60d47682e81883cb85a8ca97f3460">qsymm16x8x2_t</a> res =</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>  vcombine_s16(vqmovn_s32(rf.val[0]), vqmovn_s32(rf.val[1])),</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  vcombine_s16(vqmovn_s32(rf.val[2]), vqmovn_s32(rf.val[3])),</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> </div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="keywordflow">return</span> res;</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</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="definition">Definition at line <a class="el" href="_n_e_symm_8h_source.xhtml#l00203">203</a> of file <a class="el" href="_n_e_symm_8h_source.xhtml">NESymm.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00204"></a><span class="lineno"> 204</span> {</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <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="l00206"></a><span class="lineno"> 206</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#acec6d8ad52a28972fa74e071c1a63b6a">scale</a> == 0.f);</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</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="l00208"></a><span class="lineno"> 208</span>  <span class="keyword">const</span> int32x4x4_t rf =</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  {</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  {</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="preprocessor">#ifdef __aarch64__</span></div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  vcvtnq_s32_f32(vmulq_f32(qv.val[0], vinvscale)),</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  vcvtnq_s32_f32(vmulq_f32(qv.val[1], vinvscale)),</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  vcvtnq_s32_f32(vmulq_f32(qv.val[2], vinvscale)),</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  vcvtnq_s32_f32(vmulq_f32(qv.val[3], vinvscale)),</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="preprocessor">#else //__aarch64__</span></div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  vcvtq_s32_f32(vmulq_f32(qv.val[0], vinvscale)),</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  vcvtq_s32_f32(vmulq_f32(qv.val[1], vinvscale)),</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  vcvtq_s32_f32(vmulq_f32(qv.val[2], vinvscale)),</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  vcvtq_s32_f32(vmulq_f32(qv.val[3], vinvscale)),</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="preprocessor">#endif //__aarch64__</span></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>  };</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a9ad60d47682e81883cb85a8ca97f3460">qsymm16x8x2_t</a> res =</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>  vcombine_s16(vqmovn_s32(rf.val[0]), vqmovn_s32(rf.val[1])),</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  vcombine_s16(vqmovn_s32(rf.val[2]), vqmovn_s32(rf.val[3])),</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  };</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span> </div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <span class="keywordflow">return</span> res;</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#l00466">Error.h:466</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#l00317">PixelWiseMultiplication.cpp:317</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a9ad60d47682e81883cb85a8ca97f3460"><div class="ttname"><a href="namespacearm__compute.xhtml#a9ad60d47682e81883cb85a8ca97f3460">arm_compute::qsymm16x8x2_t</a></div><div class="ttdeci">int16x8x2_t qsymm16x8x2_t</div><div class="ttdoc">16 bit quantized symmetric vector with 16 elements</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_symm_8h_source.xhtml#l00036">NESymm.h:36</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="_quantization_info_8h_source.xhtml#l00061">UniformQuantizationInfo::scale</a>, and <a class="el" href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00317">arm_compute::test::validation::scale</a>.</p>
+<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00466">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_quantization_info_8h_source.xhtml#l00062">UniformQuantizationInfo::scale</a>, and <a class="el" href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00317">arm_compute::test::validation::scale</a>.</p>
</div>
</div>
@@ -29149,46 +30824,8 @@
<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div></div><!-- fragment -->
</div>
</div>
-<a id="a7a7441e9c3870a817f9084697730a0e9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7a7441e9c3870a817f9084697730a0e9">◆ </a></span>vst() <span class="overload">[7/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>< int16_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>< int16_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#l00221">221</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="ac9aedf36525da0e2306db27867c2bb5d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac9aedf36525da0e2306db27867c2bb5d">◆ </a></span>vst() <span class="overload">[8/14]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#ac9aedf36525da0e2306db27867c2bb5d">◆ </a></span>vst() <span class="overload">[7/14]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -29225,8 +30862,8 @@
<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">[9/14]</span></h2>
+<a id="a7a7441e9c3870a817f9084697730a0e9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7a7441e9c3870a817f9084697730a0e9">◆ </a></span>vst() <span class="overload">[8/14]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -29237,13 +30874,13 @@
<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="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1e36f8a2df3d6bd1756b90e2efb151e9">ptr_t</a>< int16_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>< uint32_t > </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>< int16_t > </td>
<td class="paramname"><em>vec</em> </td>
</tr>
<tr>
@@ -29259,12 +30896,12 @@
</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>
+<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00221">221</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="aca451511712482f55001063da2317427"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aca451511712482f55001063da2317427">◆ </a></span>vst() <span class="overload">[10/14]</span></h2>
+<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">
@@ -29301,8 +30938,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">[11/14]</span></h2>
+<a id="aa1e4aafb14bd8eee38caa7ad5db69507"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa1e4aafb14bd8eee38caa7ad5db69507">◆ </a></span>vst() <span class="overload">[10/14]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -29313,13 +30950,13 @@
<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>< int32_t > </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>< int32_t > </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>
</tr>
<tr>
@@ -29335,12 +30972,12 @@
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00223">223</a> of file <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml">NESoftmaxLayerKernel.cpp</a>.</p>
+<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="a59f96d9a74850a843c1f710803fe8de8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a59f96d9a74850a843c1f710803fe8de8">◆ </a></span>vst() <span class="overload">[12/14]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a59f96d9a74850a843c1f710803fe8de8">◆ </a></span>vst() <span class="overload">[11/14]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -29377,8 +31014,46 @@
<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div></div><!-- fragment -->
</div>
</div>
-<a id="abd25994f8abe7093700a88a65fdb6ad5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#abd25994f8abe7093700a88a65fdb6ad5">◆ </a></span>vst() <span class="overload">[13/14]</span></h2>
+<a id="a788c1fc3809f77d2866e4282d374770b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a788c1fc3809f77d2866e4282d374770b">◆ </a></span>vst() <span class="overload">[12/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>< int32_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>< int32_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#l00223">223</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="a01cfd18ed87a496fc5d3be04a040be61"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a01cfd18ed87a496fc5d3be04a040be61">◆ </a></span>vst() <span class="overload">[13/14]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -29395,7 +31070,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>< float > </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>< float > </td>
<td class="paramname"><em>vec</em> </td>
</tr>
<tr>
@@ -29415,8 +31090,8 @@
<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div></div><!-- fragment -->
</div>
</div>
-<a id="a01cfd18ed87a496fc5d3be04a040be61"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a01cfd18ed87a496fc5d3be04a040be61">◆ </a></span>vst() <span class="overload">[14/14]</span></h2>
+<a id="abd25994f8abe7093700a88a65fdb6ad5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abd25994f8abe7093700a88a65fdb6ad5">◆ </a></span>vst() <span class="overload">[14/14]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -29433,7 +31108,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab448de27f94cd38059b63980c3c08f40">vec_8_byte_t</a>< float > </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aef7a69b9cf4a1732d2be114b9b9bf3e3">vec_16_byte_t</a>< float > </td>
<td class="paramname"><em>vec</em> </td>
</tr>
<tr>
@@ -29491,6 +31166,39 @@
<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div></div><!-- fragment -->
</div>
</div>
+<a id="a581e2eb4d2cc7f4f667033b87b276b98"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a581e2eb4d2cc7f4f667033b87b276b98">◆ </a></span>vsub_n()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">float32x4x4_t arm_compute::vsub_n </td>
+ <td>(</td>
+ <td class="paramtype">float32x4x4_t </td>
+ <td class="paramname"><em>a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">float </td>
+ <td class="paramname"><em>val</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_softmax_layer_kernel_8cpp_source.xhtml#l00336">336</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="l00337"></a><span class="lineno"> 337</span> {</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <span class="keyword">auto</span> scalar_vector = <a class="code" href="namespacearm__compute.xhtml#aeabe5dd1c5751f380322a841d7ad8d7a">vdup_n<float32x4x4_t></a>(val);</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  float32x4x4_t res = { {</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  vsubq_f32(a.val[0], scalar_vector.val[0]),</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  vsubq_f32(a.val[1], scalar_vector.val[1]),</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  vsubq_f32(a.val[2], scalar_vector.val[2]),</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  vsubq_f32(a.val[3], scalar_vector.val[3])</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  }</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  };</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <span class="keywordflow">return</span> res;</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_aeabe5dd1c5751f380322a841d7ad8d7a"><div class="ttname"><a href="namespacearm__compute.xhtml#aeabe5dd1c5751f380322a841d7ad8d7a">arm_compute::vdup_n< float32x4x4_t ></a></div><div class="ttdeci">float32x4x4_t vdup_n< float32x4x4_t >(float val)</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00300">NESoftmaxLayerKernel.cpp:300</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_n_e_softmax_layer_kernel_8cpp_source.xhtml#l00300">vdup_n< float32x4x4_t >()</a>.</p>
+
+</div>
+</div>
<a id="a3e59419da344d02daca9c5b274a1da45"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3e59419da344d02daca9c5b274a1da45">◆ </a></span>vtanhq_f32()</h2>
@@ -29604,7 +31312,7 @@
<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00764">764</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="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> x >= 0 ? x % m : (x % m + m) % m;</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span> }</div></div><!-- fragment -->
-<p class="reference">Referenced by <a class="el" href="_c_l_reduce_mean_8cpp_source.xhtml#l00040">CLReduceMean::configure()</a>, <a class="el" href="_n_e_reduce_mean_8cpp_source.xhtml#l00080">NEReduceMean::configure()</a>, <a class="el" href="_c_l_gather_kernel_8cpp_source.xhtml#l00091">CLGatherKernel::configure()</a>, <a class="el" href="_n_e_l2_normalize_layer_8cpp_source.xhtml#l00041">NEL2NormalizeLayer::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="_c_l_l2_normalize_layer_kernel_8cpp_source.xhtml#l00098">CLL2NormalizeLayerKernel::configure()</a>, <a class="el" href="_c_l_l2_normalize_layer_8cpp_source.xhtml#l00047">CLL2NormalizeLayer::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#l00100">CLReduceMean::validate()</a>, <a class="el" href="_n_e_reduce_mean_8cpp_source.xhtml#l00037">NEReduceMean::validate()</a>, <a class="el" href="_n_e_l2_normalize_layer_8cpp_source.xhtml#l00055">NEL2NormalizeLayer::validate()</a>, <a class="el" href="_n_e_stack_layer_8cpp_source.xhtml#l00058">NEStackLayer::validate()</a>, <a class="el" href="_c_l_stack_layer_8cpp_source.xhtml#l00061">CLStackLayer::validate()</a>, and <a class="el" href="_c_l_l2_normalize_layer_8cpp_source.xhtml#l00061">CLL2NormalizeLayer::validate()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="_c_l_reduce_mean_8cpp_source.xhtml#l00040">CLReduceMean::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_l2_normalize_layer_8cpp_source.xhtml#l00041">NEL2NormalizeLayer::configure()</a>, <a class="el" href="_n_e_stack_layer_8cpp_source.xhtml#l00044">NEStackLayer::configure()</a>, <a class="el" href="_c_l_l2_normalize_layer_8cpp_source.xhtml#l00047">CLL2NormalizeLayer::configure()</a>, <a class="el" href="_c_l_l2_normalize_layer_kernel_8cpp_source.xhtml#l00098">CLL2NormalizeLayerKernel::configure()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00774">convert_negative_axis()</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#l00100">CLReduceMean::validate()</a>, <a class="el" href="_n_e_l2_normalize_layer_8cpp_source.xhtml#l00055">NEL2NormalizeLayer::validate()</a>, <a class="el" href="_n_e_stack_layer_8cpp_source.xhtml#l00058">NEStackLayer::validate()</a>, <a class="el" href="_c_l_stack_layer_8cpp_source.xhtml#l00061">CLStackLayer::validate()</a>, and <a class="el" href="_c_l_l2_normalize_layer_8cpp_source.xhtml#l00064">CLL2NormalizeLayer::validate()</a>.</p>
</div>
</div>
@@ -29623,7 +31331,7 @@
<p>Constant value of the border pixels when using <a class="el" href="namespacearm__compute.xhtml#a14d24d90ab4ba2956e92e27890ba4c91a8d6b5cada83510220f59e00ce86d4d92">BorderMode::CONSTANT</a>. </p>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00103">103</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00105">105</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
</div>
</div>
@@ -29641,7 +31349,7 @@
<b>Initial value:</b><div class="fragment"><div class="line">=</div><div class="line">{</div><div class="line"> {</div><div class="line"> vdupq_n_f32(1.f),</div><div class="line"> vdupq_n_f32(0.0416598916054f),</div><div class="line"> vdupq_n_f32(0.500000596046f),</div><div class="line"> vdupq_n_f32(0.0014122662833f),</div><div class="line"> vdupq_n_f32(1.00000011921f),</div><div class="line"> vdupq_n_f32(0.00833693705499f),</div><div class="line"> vdupq_n_f32(0.166665703058f),</div><div class="line"> vdupq_n_f32(0.000195780929062f),</div><div class="line"> }</div><div class="line">}</div></div><!-- fragment -->
<p>Exponent polynomial coefficients. </p>
-<p class="definition">Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00030">30</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00033">33</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
</div>
</div>
@@ -29659,7 +31367,7 @@
<b>Initial value:</b><div class="fragment"><div class="line">=</div><div class="line">{</div><div class="line"> {</div><div class="line"> vdupq_n_f32(-2.29561495781f),</div><div class="line"> vdupq_n_f32(-2.47071170807f),</div><div class="line"> vdupq_n_f32(-5.68692588806f),</div><div class="line"> vdupq_n_f32(-0.165253549814f),</div><div class="line"> vdupq_n_f32(5.17591238022f),</div><div class="line"> vdupq_n_f32(0.844007015228f),</div><div class="line"> vdupq_n_f32(4.58445882797f),</div><div class="line"> vdupq_n_f32(0.0141278216615f),</div><div class="line"> }</div><div class="line">}</div></div><!-- fragment -->
<p>Logarithm polynomial coefficients. </p>
-<p class="definition">Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00045">45</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00048">48</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
</div>
</div>
@@ -29679,7 +31387,7 @@
<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>
-<p class="reference">Referenced by <a class="el" href="_shape_calculator_8h_source.xhtml#l01268">arm_compute::misc::shape_calculator::calculate_concatenate_shape()</a>.</p>
+<p class="reference">Referenced by <a class="el" href="_shape_calculator_8h_source.xhtml#l01279">arm_compute::misc::shape_calculator::calculate_concatenate_shape()</a>.</p>
</div>
</div>
@@ -29715,7 +31423,7 @@
<p>Constant value used to indicate a half-scale pyramid. </p>
-<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="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00108">108</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#l00059">CLGaussianPyramidHalf::configure()</a>, <a class="el" href="_n_e_gaussian_pyramid_8cpp_source.xhtml#l00057">NEGaussianPyramidHalf::configure()</a>, <a class="el" href="validation_2_c_l_2_gaussian_pyramid_8cpp_source.xhtml#l00073">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_gaussian_pyramid_half_8cpp_source.xhtml#l00041">arm_compute::test::validation::reference::gaussian_pyramid_half()</a>, and <a class="el" href="validation_2reference_2_optical_flow_8cpp_source.xhtml#l00246">arm_compute::test::validation::reference::optical_flow()</a>.</p>
@@ -29735,7 +31443,7 @@
<p>Constant value used to indicate a ORB scaled pyramid. </p>
-<p class="definition">Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00109">109</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#l00111">111</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>, and <a class="el" href="_n_e_gaussian_pyramid_8cpp_source.xhtml#l00139">NEGaussianPyramidOrb::configure()</a>.</p>
@@ -29755,7 +31463,7 @@
<p>Sin polynomial coefficients. </p>
-<p class="definition">Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00060">60</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00063">63</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
</div>
</div>
@@ -29771,7 +31479,7 @@
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00061">61</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00064">64</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
</div>
</div>
@@ -29787,7 +31495,7 @@
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00062">62</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00065">65</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
</div>
</div>
@@ -29803,7 +31511,7 @@
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00063">63</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
+<p class="definition">Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00066">66</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
</div>
</div>
@@ -29813,7 +31521,7 @@
<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 Mon Sep 2 2019 11:47:31 for Compute Library by
+ <li class="footer">Generated on Thu Nov 28 2019 16:53:09 for Compute Library by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li>
</ul>